Swift中小数位的NumberFormatter

时间:2019-02-19 17:18:42

标签: ios swift nsnumberformatter

我有以下代码,除了保留小数点后的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.formatted-1,256
  2. 1256.00.formatted-1,256(需要保留小数点后的0,所需结果-1,256.00
  3. 1256.05.formatted-1,256.05
  4. 1256.80.formatted-1,256.8(需要保留小数点后的0,期望结果1,256.80
  5. 1256.5789847.formatted-1,256.57

如何实现所需的输出

0 个答案:

没有答案