NSnumberFormatter работает на симуляторе, но не на устройстве

В моем приложении есть поле цены. Я использовал NSNumberFormatter, и я сохраняю и извлекаю значения, используя основные данные. На симуляторе работает нормально, а на устройстве ничего не отображается.

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

NSLocale *theLocale = [NSLocale currentLocale];
NSString *a = [theLocale objectForKey:NSLocaleCurrencySymbol];

person Chandu    schedule 13.09.2012    source источник
comment
Проверьте, совпадают ли языковой стандарт устройства и языковой стандарт симулятора.   -  person parilogic    schedule 13.09.2012
comment
Нет, но я изменил локаль в симуляторе и проверил, и это сработало.   -  person Chandu    schedule 13.09.2012
comment
симулятор находится в США, а мой телефон - в Индии.   -  person Chandu    schedule 13.09.2012
comment
Содержит ли переменная theLocale локаль Индии при работе на вашем устройстве или она возвращает nil? Как насчет [[NSLocale preferredLanguages] objectAtIndex:0]; (даже если это возвращает текущий язык в соответствии с предпочтительными настройками языка, а не текущую локаль в соответствии с настройками региона, которые вы должны использовать для символа валюты, стоит проверить, работает ли это или вернуть nil тоже)   -  person AliSoftware    schedule 13.09.2012
comment
его возвращаемый символ рупии и предпочитаемые языки возвращаются en на симуляторе   -  person Chandu    schedule 14.09.2012
comment
но все, что я вижу, это квадрат на устройстве   -  person Chandu    schedule 14.09.2012


Ответы (1)


Для индийской системы счисления

    NSNumberFormatter *frm=[[NSNumberFormatter alloc] init];
[frm setNumberStyle:NSNumberFormatterDecimalStyle];

    [frm setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_IN"] autorelease]];
[frm setCurrencySymbol:@""];

NSString *formattedAmt=[frm stringFromNumber:[NSNumber numberWithDouble:tmpAmt]];

Изменить LocaleIdentifier на en_US для миллионов

person kaar3k    schedule 20.09.2012