2013-08-20 42 views
1

如預期下面的代碼不起作用:NSNumberFormatter setPerMillSymbol被忽略

//[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
formatter.maximumFractionDigits = 2; 
formatter.minimumFractionDigits = 2; 
formatter.decimalSeparator = @","; 
formatter.perMillSymbol = @"."; 
NSString *resultText = [formatter stringFromNumber:[NSNumber numberWithFloat:1234.10]]; 

結果字符串然後1234,10,但perMillSymbol被忽略。當我取消註釋setNumberStyle調用時,結果是1,234,10 - 忽略我的set perMillSymbol。

這裏有什麼問題?

回答

3

如果你想格式化數量1.234,10,試試這個:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:NSNumberFormatterDecimalStyle]; 
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4]; 
formatter.maximumFractionDigits = 2; 
formatter.minimumFractionDigits = 2; 
formatter.decimalSeparator = @","; 
formatter.groupingSeparator = @"."; 
NSString *resultText = [formatter stringFromNumber:[NSNumber numberWithFloat:1234.10]]; 

國民磨符號被用來象徵的百分比(0.001)的十分之一,是不相關的格式化的十進制數。

+0

謝謝!我之前使用了分組分隔符,但我認爲它沒有使用,因爲我沒有將數字樣式設置爲十進制。 – cboe