NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *currencyString = [formatter stringFromNumber:yourNumberHere];
Вы убьете себя, пытаясь исправить это, вводя его для любой валюты Вам придется использовать метод делегата UITextField
- (BOOL) textField: (UITextField *) textField shouldChangeCharactersInRange: (NSRange) диапазон replaceString: (NSString *) строка
для перехвата изменений, затем попытайтесь преобразовать новую строку обратно в число, используя средство форматирования. Но это может не сработать, если они делают что-то, что сбивает с толку синтаксический анализ, например, удаляет символ валюты или пропускает запятую.
Итак, вам нужно будет попытаться разобрать номер вручную для всех валют.
Гораздо проще, если вы просто отключите форматирование валюты во время редактирования, а затем отформатируйте результат, когда все будет готово.