使用NSNumberFormatter而不使用字符串的舍入数字

Rud*_*ger 1 iphone objective-c rounding nsnumberformatter

这看起来很简单,但我看不出NSNumberFormatter有一个奇怪的功能.我有一个号码,比方说4.1.我想把它舍入到5.我想如果我使用NSNumberFormatter并将roundingMode设置为NSNumberFormatterRoundUp我会得到所需的结果.但是我现在似乎能够将我的数字变为圆形的唯一方法是stringFromNumber或numberFromString.似乎很奇怪,我只是不能保持一个数字.

我知道我可以将字符串转换为数字,但这似乎是浪费.想要知道是否有不同的方式(如果数字是4.1,round()不会向上舍入)或者如果有一种方法我错过了通过课程参考.

干杯

aeg*_*orz 5

您可以使用标准c函数 ceil

CGFloat number = 4.1;
CGFloat roundedUp = ceil( number ); // Will be 5.0
Run Code Online (Sandbox Code Playgroud)