2017-02-09 72 views
-1

這裏是我使用用於添加逗號一個代碼:的NumberFormatter四捨五入意外

extension String 
{ 
    func addCommas() -> String 
    { 
     var result = String(self) 

     let numberFormatter = NumberFormatter() 
     numberFormatter.numberStyle = NumberFormatter.Style.decimal 
     let number = NSNumber(value:Float64(result)!) 
     result = numberFormatter.string(from: number) 

     return result! 
    } 
} 

然後我設置例如「1000」.addCommas()然後返回罰款「1,000」,但當我設置數字「1.1234」.addCommas()然後它返回「1.123」似乎它圍繞數字。如何解決上述問題?

+1

所以你的問題不加逗號。它關於'NumberFormatter'意外取整值。 – rmaddy

+4

查看'NumberFormatter'的文檔。特別是舍入部分和小數位部分。 – rmaddy

回答

0

你可以通過使用NumberFormater來實現這一點,就像這樣。

let value = 1000 
let formater = NumberFormatter() 
formater.numberStyle = .decimal 
formater.groupingSeparator = "," 
print(formater.string(from: NSNumber(integerLiteral: value)) ?? "Return nil value") 

蘋果的文檔都可以here