2017-04-19 61 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,而我正在編輯錯誤的。代碼不正確的代碼是附加到視圖的代碼。