Я использую измененный метод для this, где я хочу отформатировать UITextField
при вводе пользователем номера. Как и в случае, я хочу, чтобы число было в живом формате. Я хочу изменить 1000 до 1000, от 50000 до 50 000 и так далее.Добавление запятых в числовые значения как типы пользователей в UITextField
Моя проблема в том, что мои значения UITextField
не обновляются, как ожидалось. Например, когда я печатаю 50000 в UITextField
, результат возвращается как 5,0000 вместо 50 000. Вот мой код:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
//check if any numbers in the textField exist before editing
guard let textFieldHasText = (textField.text), !textFieldHasText.isEmpty else {
//early escape if nil
return true
}
let formatter = NumberFormatter()
formatter.numberStyle = NumberFormatter.Style.decimal
//remove any existing commas
let textRemovedCommma = textFieldHasText.replacingOccurrences(of: ",", with: "")
//update the textField with commas
let formattedNum = formatter.string(from: NSNumber(value: Int(textRemovedCommma)!))
textField.text = formattedNum
return true
}
http://stackoverflow.com/questions/24115141/swift-converting-string-to-int/34294660?s=1|0.1034#34294660 –