swift - 如何在 NumberFormatter 中的逗号后显示零

标签 swift number-formatting

我尝试使用 NumberFormatter 将我的号码格式化为字符串。这是我的代码:

        let formater = NumberFormatter()
        formater.groupingSeparator = " "
        formater.numberStyle = .decimal


        let formattedNumber = formater.string(from: (self.money as NSNumber))

        self.currentMoneyLabel.text = "\(formattedNumber!) ₽"

我有类似 1 234 的号码,但我需要获得类似 1 234,00 的号码。

如果我的数字在小数点后,数字不为零,一切正常。但如果逗号后的数字为零,则不显示。如何让一直显示到百分之一的数字,即使它是零?

最佳答案

只需添加:

formater.minimumFractionDigits = 2

文档在这里:https://developer.apple.com/documentation/foundation/numberformatter/1410459-minimumfractiondigits

编辑: 但是您应该使用具有正确语言环境的货币格式:

let price = 1234

let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.locale = Locale(identifier: "ru_RU")
formatter.string(for: price) // "1 234,00 ₽"

但是如果您希望您的应用适应设备的语言环境,只需将语言环境行替换为:

formatter.locale = .current

关于swift - 如何在 NumberFormatter 中的逗号后显示零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54942731/

相关文章:

ios - Swift - TableView 单元格按钮执行操作,然后重新加载 TableView

swift - 如何为 SpriteBuilder 和 Swift 初始化 CCNode 实例变量中的颜色?

PHP,格式数字总是有 2 个小数位

javascript - 尝试将数字格式化为小数点后两位 jQuery

ios - 使用 NSPredicate 将对象保存到核心数据

ios - 当键盘在 iOS 中不可见时如何在 TextField 上显示可见光标

ios - Swift/交付方法名称到 IBAction 以创建依赖项

java - 如何在 Swing 中定义格式化文本字段,以便在您键入时应用格式限制?

python - (Python) 如何修复数据帧列值中的数字表示错误

asp.net-mvc-3 - 如何在MVC3中使用超过2位小数格式化十进制