NumberFormatter для десятичного знака в Swift
У меня есть следующий код, который работает нормально, за исключением хранения 0 после десятичного числа. Цель состоит в том, чтобы отформатировать пользовательский ввод в качестве пользовательских типов в текстовом поле
MyClass {
static let formatter: NumberFormatter = {
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
formatter.locale = NSLocale.current
formatter.maximumFractionDigits = 2
return formatter
}()
}
extension Double {
func formatted() -> String{
return MyClass.amountFormatter.string(from: NSNumber(value: self)) ?? "0"
}
}
Это дает мне следующий вывод
- 1256.форматировано - 1256
- 1256.00. Отформатировано - 1256 (необходимо сохранить 0 после десятичного числа, желаемый результат - 1256.00)
- 1256.05. Отформатировано - 1256.05
- 1256.80.форматировано - 1256,8 (необходимо сохранить 0 после десятичного числа, желаемый результат - 1256,80)
- 1256,5789847.формат: 1256,57
Как добиться желаемого результата