我正在使用带有NSNumberFormatterCurrencyStyle的NSNumberFormatter,只要我输入一个小数字作为输入就可以正常工作但是如果我给出的数字特别是超过7位数,那么它会向上取7位并在之后加0: 例如,如果我的电话号码是:12345678 然后输出是:12,345,680
如果我的电话号码是:123456789 然后输出是:123,456,800
我的代码如下:
NSNumberFormatter* numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setFormatterBehavior: NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
[numberFormatter setMaximumFractionDigits:2];
NSLog(@"%@",[numberFormatter stringFromNumber: [NSNumber numberWithFloat:value]]);
所以请帮我解决这个问题
答案 0 :(得分:0)
您应该将NSDecimalNumber
用于财务目的。
NSLog(@"%@",[numberFormatter stringFromNumber: [NSDecimalNumber decimalNumberWithString:@"123456789"]]);