2015-10-04 4 views
-1

Я пытаюсь форматировать число в валюте с этим кодом:валюты с Форматирование Objective C

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; 
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle]; 
NSString *str = [formatter stringFromNumber:num]; 

Все работает нормально, но валюта поступает из локали прошивкой. Есть ли способ изменить его с помощью «EUR» или «USD» в качестве валюты?

PS. Я также попробовал currencySymbol и currencyCode, которые меняют строку, но не форматируют!

Update: Я спрашиваю, есть ли способ отформатировать его с EUR USD, а не снятия с DE или EN-US

+0

Меняем 'де-DE' в' EUR' то в примере Адамса – JSA986

+0

'formatter.locale = [NSLocale localeWithLocaleIdentifier: @ "EUR"];' не будет работать! – user622203

+0

Точка форматирует ее в любую валюту, которую вы хотите! люди дают свое время, чтобы помочь вам бесплатно, поэтому отбросьте свое отношение. Если вы ищете SO, есть много ответов на этот вопрос – JSA986

ответ

1

Все, что вам нужно сделать, это установить локаль вашему форматировщиком. Например:

formatter.locale = [NSLocale localeWithLocaleIdentifier:@"de-DE"]; 
+0

Я спрашиваю, есть ли способ отформатировать его с помощью EUR USD, а не de-DE или en-US – user622203

+1

Вы сказали, что попробовали ' currencyCode'. Если вы не хотите менять весь язык, меняет только код, или мне не хватает чего-то из вашего вопроса? – Adam

+0

Я хочу поменять местный, используя EUR или USD. Есть ли способ или я должен поддерживать plist с долларом США, привязанным к en_US и так далее? – user622203

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