【发布时间】:2012-01-02 15:01:32
【问题描述】:
如何将浮点数四舍五入到目标 C 中的下一个整数值?
1.1 -> 2
2.3 -> 3
3.4 -> 4
3.5 -> 4
3.6 -> 4
1.0000000001 -> 2
【问题讨论】:
标签: objective-c floating-point int
如何将浮点数四舍五入到目标 C 中的下一个整数值?
1.1 -> 2
2.3 -> 3
3.4 -> 4
3.5 -> 4
3.6 -> 4
1.0000000001 -> 2
【问题讨论】:
标签: objective-c floating-point int
Roundup StringFloat 备注(这不是最好的方法)
语言 - Swift & Objective C | xCode - 9.1
我所做的是转换 string > float > ceil > int > Float > String
字符串浮点数 10.8 -> 11.0
字符串浮点数 10.4 -> 10.0
斯威夫特
var AmountToCash1 = "7350.81079101"
AmountToCash1 = "\(Float(Int(ceil(Float(AmountToCash1)!))))"
print(AmountToCash1) // 7351.0
var AmountToCash2 = "7350.41079101"
AmountToCash2 = "\(Float(Int(ceil(Float(AmountToCash2)!))))"
print(AmountToCash2) // 7350.0
目标 C
NSString *AmountToCash1 = @"7350.81079101";
AmountToCash1 = [NSString stringWithFormat:@"%f",float(int(ceil(AmountToCash1.floatValue)))];
或者
你可以像这样
Swift
func roundupFloatString(value:String)->String{
var result = ""
result = "\(Float(Int(ceil(Float(value)!))))"
return result
}
这么称呼它
AmountToCash = self.roundupFloatString(value: AmountToCash)
目标 C
-(NSString*)roundupFloatString:(NSString *)value{
NSString *result = @"";
result = [NSString stringWithFormat:@"%f",float(int(ceil(value.floatValue)))];
return result;
}
这么称呼它
AmountToCash = [self roundupFloatString:AmountToCash];
祝你好运!欢迎!支持我的回答!
【讨论】:
只是无法评论大卫的回答。他的第二个答案不起作用,因为模不适用于浮点值。不应该是这样的
if (originalFloat - (int)originalFloat > 0) {
originalFloat += 1;
round = (int)originalFloat;
}
【讨论】:
使用ceil() 函数。
有人在此处编写了 Objective C 的一些数学题:http://webbuilders.wordpress.com/2009/04/01/objective-c-math/
【讨论】:
你想要天花板功能。像这样使用:
float roundedup = ceil(otherfloat);
【讨论】: