如何在swift中添加逗号到一个数字?
我如何将逗号添加到我从一个JSON快速检索的数字。
Example 31908551587 to 31,908,551,587
我很困惑,我不知道该怎么做。
你可以用NSNumberFormatter
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)
在ÖzgürErsil的答案上进一步扩展,你可以将这个function与Ex:
extension Int { func withCommas() -> String { let numberFormatter = NumberFormatter() numberFormatter.numberStyle = NumberFormatter.Style.decimal return numberFormatter.string(from: NSNumber(value:self))! } }
然后在你的代码上使用:
largeNumber.withCommas()
同时扩展Juan Fran Jimenez的回答,我会build议将格式化程序放入单例中,因为实例化格式化程序通常是一个相对昂贵的操作。 (如果您按照用户的要求进行格式化,则可能会影响性能。)
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)) ?? "" } }