Ошибка с NSNumberFormatter currencySymbol

У меня проблема с получением currencySymbol моего NSNumberFormatter.
Я использую NSNumberFormatter с кодом валюты «EUR».
Когда я форматирую цены, символ правильный, я получаю символ €.
Однако, когда я хочу получить только currencySymbol с помощью метода [formatter currencySymbol], возвращается символ $.
Если я вручную установил currencySymbol (например, с «A»), все будет работать нормально, и метод [formatter currencySymbol] вернет символ «A».


Вот мой код

// Create formatter
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setCurrencyCode:@"EUR"];
[formatter setLocale:[NSLocale currentLocale]];

// Log the currency symbol
NSLog(@"[formatter currencyCode] : %@", [formatter currencyCode]);
NSLog(@"[formatter currencySymbol] : %@", [formatter currencySymbol]);
NSLog(@"[formatter currencySymbol] : %@", [formatter stringFromNumber:[NSNumber numberWithInt:0]]);
[formatter setCurrencySymbol:@"A"];
NSLog(@"[formatter currencySymbol] : %@", [formatter currencySymbol]);
NSLog(@"[formatter currencySymbol] : %@", [formatter stringFromNumber:[NSNumber numberWithInt:0]]);

Вот результаты консоли:

2012-01-17 12:29:11.108[4545:207] [formatter currencySymbol] : $
2012-01-17 12:29:11.109[4545:207] [formatter currencySymbol] : €0.00
2012-01-17 12:29:11.110[4545:207] [formatter currencySymbol] : A
2012-01-17 12:29:11.111[4545:207] [formatter currencySymbol] : A0.00

Я не могу принудительно использовать currencySymbol, так как он может измениться.
Есть ли способ получить правильный currencySymbol, соответствующий данному currencyCode?

Спасибо

6
задан nicolas 17 January 2012 в 11:47
поделиться