我有一个NSNumberFormatter,我想以十亿为单位显示货币, 所以,如果我有1,000,000,000美元,我想显示1B $
我创建了NSNumberFormatter对象并设置了multiplyer:
NSNumberFormatter * numberFormatter = [[NSNumberFormatter alloc]init];
[numberFormatter setMultiplier: @(1.0/1000000000)];
如果我将乘数显示为:
NSLog(@" NUMBER %@", numberFormatter.multiplier); // --> NUMBER 1e-09
但如果我把
NSLog(@"Formatter %@", [numberFormatter1 stringFromNumber:@(1225245041496000)]); // --> Formatter 0
它对我来说是倍数,但我不知道如何防止这种情况。
答案 0 :(得分:1)
您似乎超过multiplier
允许的最小值。我无法在其上找到文档,但快速测试显示:
[numberFormatter setMultiplier: @(1.0 / 8388608.0)];
工作正常,但
[numberFormatter setMultiplier: @(1.0 / 8388609.0)];
失败(字符串输出始终为" 0")。
因此,我认为NSNumberFormatter
无法满足您的需求。