2017-07-31 45 views
0

將設置乘數我有一個NSNumberFormatter,我想顯示的貨幣在一個億, 所以,如果我有$ 1,000,000,000我想顯示1B $NSNumberFormatter與大量

創建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

在這裏有類似的問題,有幾個答案。應該是相當簡單的達到你的目標:https://stackoverflow.com/questions/18267211/ios-convert-large-numbers-to-smaller-format – DonMag

+0

嗨,我沒有顯示右後綴的問題,但事實上,多人遊戲太小,並且被舍入到零。 –

回答

1

看起來你超過了multiplier所允許的最小值。我無法找到的文檔就可以了,但快速測試顯示:

[numberFormatter setMultiplier: @(1.0/8388608.0)]; 

工作正常,但

[numberFormatter setMultiplier: @(1.0/8388609.0)]; 

失敗(字符串輸出始終爲 「0」)。

所以我不認爲NSNumberFormatter將符合您的需求。