У меня есть два UITextFields в моем приложении, и приложение имеет отношение к валюте. Я пытаюсь правильно отформатировать его с помощью $ в начале и десятичной запятой, где он должен. Как я и сказал. Я не смог найти нубовый ответ на мой вопрос.Форматирование валюты Правильно для двух UITextFields
ответ
Что происходит, вы добавляете наблюдателя, который сообщает нам, когда пользователь закончит редактирование. Как только это произойдет, наш метод formatCurrency
выполняет работу по обновлению внешнего вида текстового поля. Изменения вступят в силу после того, как поле с цифрами отменит статус первого ответчика.
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(formatCurrency)
name:UITextFieldTextDidEndEditingNotification
object:self.numberField];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self.numberField resignFirstResponder];
}
-(void)formatCurrency {
NSString *currentValue = self.numberField.text;
long long cur = [currentValue longLongValue];
NSNumber *curNum = @(cur);
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
self.numberField.text = [NSNumberFormatter localizedStringFromNumber:curNum
numberStyle:NSNumberFormatterCurrencyStyle];
}
UILabel *price;
NSString *dollarSign = "$";//Just use whatever currency symbol you need
price.text = [dollarSign stringByAppendingString:[NSString stringWithFormat:@"%.2f", priceVariable]];
Это будет печатать в формате $ xxx.xx
Я написал UITextField
подкласс для обработки валюты форматирования, доступны здесь:
https://github.com/TomSwift/TSCurrencyTextField
форматирует валюту количество пользователей, тип ATM. Пользователь не может вводить ничего, кроме цифр. Элемент управления использует NSNumberFormatter (валютный стиль!) Внутри, и вы можете настроить его, если хотите, настроить символ валюты ($), десятичные знаки и т. Д.
спасибо. и это куда? – Antomir
Что это значит? –
да где я вставляю этот код, который я только что дал. – Antomir