【发布时间】:2010-10-11 23:09:57
【问题描述】:
这看起来很简单,但我看不出 NSNumberFormatter 有一个奇怪的功能。我有一个数字,比如说 4.1。我想将它四舍五入到 5。我想如果我使用 NSNumberFormatter 并将 roundingMode 设置为 NSNumberFormatterRoundUp 我会得到想要的结果。但我现在似乎能够让我的号码四舍五入的唯一方法是 stringFromNumber 或 numberFromString。似乎很奇怪,我就是不能保留一个数字。
我知道我可以将字符串转换为数字,但这似乎是一种浪费。想知道是否有不同的方法(如果数字是 4.1,round() 不会四舍五入),或者是否有一种方法我错过了查看类 ref。
干杯
【问题讨论】:
-
o_o''.... 有什么理由要将 4.1 舍入到 5?只是好奇。你不希望数字超过 4.5 然后是第 5 轮?
-
格式化程序始终用于将数据与字符串转换。可能有一个库函数可以做你想做的事,我会快速浏览一下,但现在你的标题要求一些不合理的东西。
-
@Pavan - 用于 UI 目的,如果它的 4.1 我需要 5 行,如果它的 3.9 我需要 4 行
标签: iphone objective-c rounding nsnumberformatter