如何在 NumberFormatter 中的逗号后显示零
How to show zero after comma in NumberFormatter
我尝试使用 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
我尝试使用 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