swift - 如何在 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 ₽"
但是,如果您希望您的应用程序适应设备的语言环境,只需将 locale 行替换为:
formatter.locale = .current
推荐阅读
- azure - 如何通过 ARM 模板在 StorageAccount 中设置选定的网络
- html - HTML/CSS 需要帮助在两个元素之间创建下划线
- java - 在数据库的第一个添加新项目(位置 0)
- django - Django获取由外键标识的所有模型行
- azure - Windows 10 for Azure 上的 Windows Powershell 问题
- java - Spring websocket无法接收大数据
- html - Sticky header not working with resizable column in Primeng.?
- java - 如何关闭膨胀层?
- python - 错误 Python pandas:时间数据 '20160101-000000' 与格式 '%YYYY%mm%dd-%HH%MM%SS' 不匹配
- sql - 排除某些值的 SQL 约束?