我试图让NSDecimalNumber打印出大数字,15个或更多数字。在15位数字处,我看到111,111,111,111,111。上述15位我看到1,111,111,111,111,110即使被格式化的数量是1111111111111111.NSDecimalNumber round long numbers
一个例子来说明我的问题:
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumSignificantDigits:25];
[formatter setUsesSignificantDigits:true];
NSDecimalNumber* test = [NSDecimalNumber decimalNumberWithString:@"123456789"];
NSString* output = [formatter stringFromNumber:test];
NSLog(@"num value: %@", test);
NSLog(@"str value: %@", output);
和输出的样子:
2010-09-16 09:24:16.783 SimpleCalc[739:207] num value: 123456789
2010-09-16 09:24:16.784 SimpleCalc[739:207] str value: 12,345,678,901,234,600,000
什么愚蠢的事情有我错过了?