2017-04-19 104 views
0

这里是我的代码:的NumberFormatter()不会强制小数位

extension NSDecimalNumber { 
func getFormattedDecimalString() -> String { 
    let numberFormatter   = NumberFormatter() 
    numberFormatter.minimumFractionDigits = 2 
    numberFormatter.maximumFractionDigits = 2 
    numberFormatter.numberStyle = NumberFormatter.Style.decimal 
    if let decimalString = numberFormatter.string(from: self) { 
     return decimalString 
    } else { 
     return "" 
    } 
} 
} 

如果我有数量4.11,这表明4.11。如果我有4.1,它显示4.1。如果我有数字4,则显示4.我希望它显示4.11,4.10和4.00。我认为这是minimumFractionDigits的目的。我也尝试添加行numberFormatter.alwaysShowsDecimalSeparator = true,这没有做什么。

+0

无法重现。你能否提供证明问题的[mcve]? –

+0

In numberFormatter.string(from:self)自我指示的原因是无法重现您的问题。它对我的工作很好 – AkBombe

+0

@AkBombe它是NSDecimalNumber的一个扩展(我编辑了我的文章)。我把它放在一个普通的函数中,它工作,但这是行不通的。我从核心数据中获取NSDecimalNumber。 – Questioner

回答

0

实际上是由于我所做的无关错误导致的:我有两个ViewController,而我正在编辑错误的。代码不正确的代码是附加到视图的代码。