NumberFormatter для десятичного знака в Swift - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть следующий код, который отлично работает, за исключением сохранения после десятичного числа 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.форматировано - 1,256.05
  4. 1256.80.форматировано - 1256,8 (необходимо сохранить 0 последесятичное, желаемый результат 1 256,50 )
  5. 1256,5789847.форматировано - 1,256,57

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

...