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"
     }
 }

Это дает мне следующий вывод

  1. 1256.форматировано - 1256
  2. 1256.00. Отформатировано - 1256 (необходимо сохранить 0 после десятичного числа, желаемый результат - 1256.00)
  3. 1256.05. Отформатировано - 1256.05
  4. 1256.80.форматировано - 1256,8 (необходимо сохранить 0 после десятичного числа, желаемый результат - 1256,80)
  5. 1256,5789847.формат: 1256,57

Как добиться желаемого результата

0 ответов

Другие вопросы по тегам