2017-02-09 69 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