如何在从swift中的JSON检索到的数字中添加逗号?
Example
31908551587 to
31,908,551,587我很困惑,我不知道该怎么办。
发布于 2015-06-24 16:25:25
您可以使用NSNumberFormatter来完成此操作
Swift 4
let largeNumber = 31908551587
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
let formattedNumber = numberFormatter.string(from: NSNumber(value:largeNumber))Swift 3
let largeNumber = 31908551587
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = NumberFormatter.Style.decimal
let formattedNumber = numberFormatter.string(from: NSNumber(value:largeNumber))Swift 2
let largeNumber = 31908551587
let numberFormatter = NSNumberFormatter()
numberFormatter.numberStyle = NSNumberFormatterStyle.DecimalStyle
let formattedNumber = numberFormatter.stringFromNumber(largeNumber)发布于 2017-06-09 21:23:00
扩展Özgür Ersil的答案,您可以通过对Int的扩展来隔离功能:
extension Int {
func withCommas() -> String {
let numberFormatter = NumberFormatter()
numberFormatter.numberStyle = .decimal
return numberFormatter.string(from: NSNumber(value:self))!
}
}然后在你的代码上使用如下代码:
largeNumber.withCommas()发布于 2017-08-31 06:44:43
同样在Juan Fran Jimenez的回答上展开,我建议将格式化程序放在单例中,因为实例化格式化程序通常是一项相对昂贵的操作。(如果您在用户编写时正在设置格式,则可能会影响性能。)
extension Int {
private static var commaFormatter: NumberFormatter = {
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
return formatter
}()
internal var commaRepresentation: String {
return Int.commaFormatter.string(from: NSNumber(value: self)) ?? ""
}
}https://stackoverflow.com/questions/31021197
复制相似问题