Как да използвам символ на различна валута вместо символ на местна валута на устройството?

Трябва да дам възможността на потребителя, че потребителят може да използва символ на различна валута вместо символ на местна валута на устройството. Например: Ако езикът на устройството ми е „английски“, тогава символът на моята валута ще бъде „$“, но трябва да направя така, че езикът на устройството ми да остане „английски“, но символът на валутата е променен на „€“ (или друг символ на валута, но не '$').

Моля, не го маркирайте като дубликат, защото трябва да използвам друг символ за валута вместо символа за местна валута по подразбиране на устройството.

Моля, дайте вашето предложение относно това. Благодаря за отделеното време.


person Mohd Haider    schedule 24.07.2013    source източник


Отговори (1)


Аз използвам това:

NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[currencyFormatter setCurrencyCode:currencyCode];

където кодът на валутата е нещо като "USD", "CAD", "EUR", "GBP" и т.н.

person Matt Long    schedule 24.07.2013
comment
Благодаря за отговора, но той не решава изискването. Ето сценария:- ако зададем валутния код EUR и се опитаме да получим „currencyFormatter.currencySymbol“, тогава получаваме $ като резултат, защото езикът по подразбиране на нашето устройство все още е „английски“ и трябва да намеря начин да получа € символ като резултат. - person Mohd Haider; 25.07.2013
comment
В такъв случай може да се наложи просто да премахнете символа на валутата с [currencyFormatter setCurrencySymbol:@""]. След това трябва да показва 24,95 евро без символ. Тогава въпросът е за десетичен знак срещу запетая. Може би можете да зададете изрично локала и да получите правилния символ, десетична запетая с NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; и след това да зададете локала, но не съм опитвал това. Ето един SO въпрос без отговор, който може да се окаже полезен: stackoverflow.com/questions/15545810/ - person Matt Long; 25.07.2013