UIKeyboardTypeDecimalPad локализация - PullRequest
2 голосов
/ 03 октября 2010

Я заметил, что UIKeyboardTypeDecimalPad был добавлен в iOS 4.1, и начал использовать его. В ходе тестирования я переключил язык и регион на французский в разделе «Настройки» на международном уровне. Я ожидал, что десятичная клавиша на клавиатуре в моем приложении изменится с "." на ",", но это не так.

Все, что я делаю, это:

_textFieldUnitCost.keyboardType = UIKeyboardTypeDecimalPad;

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2011

Начиная с 4.2.1, десятичная клавиша на клавиатуре теперь меняется с "."на "," при переключении на язык / регион, который использует ","

0 голосов
/ 13 ноября 2011

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

NSString *firstString = @"102.08", *finalString;

finalString = [[firstString stringByReplacingOccurancesOfString:@"." withString:@","];
//string value returns 102,08

Это сработает, если вам просто нужно отобразить. Это не будет работать, если вы делаете математику с этой строкой. Вы на самом деле не можете. Теперь вы можете сохранить его как число с плавающей точкой, а затем при преобразовании в строку вы делаете эти 2 строки кода

...