NumberFormatter意外舍入

时间:2017-02-09 20:06:27

标签: swift swift3 nsnumberformatter

以下是我用来添加逗号的代码:

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 个答案:

答案 0 :(得分:0)

你可以使用NumberFormater实现这一点,就像这样。

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

可以使用Apple文档here