不带零的Swift货币风格

5

我正在使用CurrencyStyle数字格式化程序,它会生成像“$ 521.00”这样的输出。是否有简单的方法在不编写自定义数字格式化程序的情况下去除尾随的.XX?

我希望输出结果为“$1,521”,并且不包含尾随的零。

var asCurrency: String {
        let formatter = NSNumberFormatter()
        formatter.numberStyle = .CurrencyStyle
        formatter.locale = NSLocale(localeIdentifier: "en_US")
        if let formattedPrice = formatter.stringFromNumber(self) {
            return formattedPrice
        } 
1个回答

10

如果你想通常情况下打印没有小数位的金额,那么可以设置

formatter.maximumFractionDigits = 0

当输入数字 1521 时,将得到字符串 $1,521。非整数值会四舍五入,所以对于 1234.56,将生成字符串 $1,235。取整行为也可以由 roundingMode 属性控制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接