当我尝试使用NSNumberFormatter将数字999999999转换为字符串时,我得到了错误的值。它返回1,000,000,000而不是999,999,999。

这是我使用的代码。

 NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setUsesSignificantDigits:YES];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
[numberFormatter setLocale:[NSLocale systemLocale]];
[numberFormatter setCurrencySymbol:@""];

numberAsString = [numberFormatter stringFromNumber:[NSDecimalNumber decimalNumberWithString:@"999999999" ]];
NSLog(@"Currency String %@",numberAsString);

最佳答案

您指定使用有效数字,但没有说明要使用多少个数字。例如,如果添加以下内容,则会得到预期的结果:

[numberFormatter setMaximumSignificantDigits:9];

因此,如果要使用有效数字,请指定要使用的位数。或完全不使用有效数字。

10-05 20:22
查看更多