I use NSNumberFormatter. It looks like this:
let formatter = NumberFormatter() formatter.locale = Locale.current formatter.numberStyle = .decimal formatter.minimumSignificantDigits = 10 if let text = textField.text, let number = formatter.number(from: text) { year = number.doubleValue textField.text = formatter.string(from: NSDecimalNumber(value: year)) yearLabel.text = formatter.string(from: NSDecimalNumber(value: year).multiplying(by: 1)) When you type in the text field, for example, the number "15" displays "15.00000000", and when you enter "5.085", "5.085000000" is displayed.
How can I reduce the display of characters in the textField only to those entered by the user?