【发布时间】:2013-09-03 11:01:14
【问题描述】:
在我的应用程序中,我有一个金额字段。在金额字段中,用户可以输入小数点后的任意位数。但是当我保存它时,它想四舍五入到 2 位数。这种情况适用于我的代码。使用我的代码,如果用户输入值 2.445,则将其保存为 2.45。同样
2.115 -> 2.12,
2.125 -> 2.13,
2.135-> 2.14,
2.145 -> 2.15,
2.155 -> 2.16,
2.165 -> 2.17, 2.175 -> 2.18 但是如果用户输入的是 2.185,在这种情况下我需要保存为 2.19 但它只保存为 2.48。而且如果输入是2.195,它应该保存为2.20,但它只保存为2.19..如何解决这个..?我已附上我的代码。
float Rate_int = [AmountValue floatValue];
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setRoundingMode: NSNumberFormatterRoundHalfUp];
[formatter setMaximumFractionDigits:2];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithFloat:Rate_int]];
简而言之,如果第 3 位大于或等于 5,我想在所有情况下四舍五入。但 2.185 没有四舍五入到 2.9。同样,2.195 也没有四舍五入到 2.20。 . 我只在这两种情况下有问题..
【问题讨论】:
-
目前还不清楚哪些案件你要四舍五入,哪些不
-
如果第 3 位大于或等于 5,我想在所有情况下四舍五入。但是 2.185 没有四舍五入到 2.9.. 同样 2.195 也没有四舍五入到2.20..我只有这两种情况有问题..
-
好的,我现在明白了。你最初的措辞让我很反感
-
对不起..现在我也编辑了我的问题..你能给我一些解决方法吗..
标签: iphone ios nsnumber nsnumberformatter