【发布时间】:2018-07-01 03:39:57
【问题描述】:
我有大量的双精度数,它们的小数位数不同,例如:
[11307.3, 1025.64, 1.27826, 1676.46, 0.584175, 183.792, 1.02237, 13.649, 0.472665, 127.604]
我正在尝试格式化数字,因此每千位有逗号,并且小数位未格式化为特定数字,例如 3dp。数组应该看起来像
[11,307.3, 1,025.64, 1.27826, 1,676.46, 0.584175, 183.792, 1.02237, 13.649, 0.472665, 127.604]
我已经尝试通过这样定义 NumberFormatter 来做到这一点:
let numberFormatter = NumberFormatter()
然后为样式选择小数:
numberFormatter.numberStyle = NumberFormatter.Style.decimal
数组中的值显示在表格视图中,当用户点击例如第二个单元格时,在新屏幕中将显示值 1,025.64。 我用这段代码来做到这一点:
var formattedPrice = numberFormatter.string(from: NSNumber(value:coinPriceDouble!))
self.coinPriceLbl.text = "\(coinTitleText!): \(Cryptocoin.instance.fiatSymbol)\(formattedPrice!)"
这适用于任何不超过 3 位小数的值。
如果用户选择数组中的第三个值,它将显示 1.278 而不是 1.27826。
有没有办法用逗号格式化这些值,但不强制它们到特定的小数位数?
【问题讨论】:
-
NumberFormatter是高度可定制的。您是否阅读了文档和Programming Guide?
标签: ios arrays swift number-formatting