NSNumberFormatter仅舍入到3个小数位

Cha*_*adK 33 cocoa-touch objective-c

我试图NSNumberFormatter在iPhone应用程序中将数字[formatter stringFromNumber:]舍入到5位小数,但始终返回舍入到0.001(3位小数)的字符串.我究竟做错了什么?

formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setRoundingMode:NSNumberFormatterRoundHalfUp];
[formatter setSecondaryGroupingSize:3];
[formatter setRoundingIncrement:[NSNumber numberWithDouble:0.00001]];
Run Code Online (Sandbox Code Playgroud)

Nat*_*ger 72

尝试-setMaximumFractionDigits:-setMinimumFractionDigits:

这些配置小数分隔符后的位数.

  • 分数位是小数位后的数字.有效数字是数字的总体精度.所以12.345有5位有效数字位数和3位数字.而0.0012有2位有效数字和4位小数数字.set(min/max)SignificantDigits:对科学风格输出很有用:123000将是1.23E5,3位有效数字. (10认同)