Swift 没有零的货币样式

Swift currency-style without zeros

我正在使用 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
        } 

如果一般要打印没有小数的金额 然后你可以设置

formatter.maximumFractionDigits = 0

对于1521,您将得到字符串,521。非整数值 是四舍五入的,所以对于 1234.56 这将产生字符串 ,235。 也可以使用 roundingMode 控制舍入行为 属性.