2012-03-07 1 views
4

В настоящее время я пытаюсь отформатировать поплавок из фида JSON на номер с помощью NSNumberFormatter, используя валютный стиль.Неверный вывод при использовании стиля валюты с помощью NSNumberFormatter

Мое текущее решение заключается в следующем:

float test = 100.50; 
NSNumber *number = [NSNumber numberWithFloat:test]; 

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
[formatter setCurrencyCode:@"DKK"]; 
NSString *price = [formatter stringFromNumber:number]; 

Моя проблема заключается в том, что выход «DKK100.50», когда правильный результат для выбранной валюты должно быть «DKK100,50» (обратите внимание на текущий результат с точкой в ​​виде десятичного разделителя, а не запятой, как она должна).

Что я делаю неправильно?

ответ

1

Вы не указали NSLocale для своего NSNumberFormatter, он будет использовать текущую «область» в настройке, чтобы настроить формат валюты (включая разделитель). Текущий параметр «область» может быть регион, использовать точку в качестве разделителя, измените его на тот, который использует запятую, например en_US

[formatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]]; 

, например

+0

Спасибо, что сделал трюк :) – Krueger