2013-08-20 2 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 - игнорируя мой набор 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

 Смежные вопросы

  • Нет связанных вопросов^_^