Как я могу установить определенный формат региона внутри своего приложения и переопределить формат региона устройств в приложении iOS?

У меня есть базовое приложение-калькулятор, и оно неправильно обрабатывает проценты в регионах, где десятичная точка "." используется в качестве разделителя запятой, а запятая "," используется для обозначения точки счисления. Я работаю над исправлением для этого, но в то же время мне интересно, могу ли я при запуске моего приложения переопределить формат региона, установленный в приложении настроек устройства, и принудительно использовать определенный формат региона только для моего приложения.

Это возможно? Спасибо за ваше время с этим.


person d.altman    schedule 21.05.2012    source источник


Ответы (1)


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

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSNumber *test = [formatter numberFromString:@"1,000,000"];

Также обратите внимание на другие функции, предоставляемые NSNumberFormatter. Это кажется более элегантным способом сделать это, чем то, что вы пытаетесь сделать.

person melsam    schedule 21.05.2012
comment
Спасибо вам за помощь. Я использовал NSNumberFormatter и нашел исправление, прежде чем смотреть на это, но я рад, что сделал это правильно. У меня уже было установлено значение NSNumberFormatterDecimalStyle, но я специально не устанавливалDecimalSeparator в . поэтому в некоторых регионах, когда пользователь коснулся . он был изменен на и создал проблему с расчетом. Теперь установив разделитель программно остается . независимо от региона. Спасибо еще раз. - person d.altman; 22.05.2012