Как бы добавить запятые к числу, которое я извлекаю из JSON в swift.
Example
31908551587 to
31,908,551,587
Я так смущен, и я понятия не имею, что делать.
Как бы добавить запятые к числу, которое я извлекаю из JSON в swift.
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ür Ersil ответ, вы можете выделить функциональность с расширением Int:
extension Int {
    func withCommas() -> String {
        let numberFormatter = NumberFormatter()
        numberFormatter.numberStyle = NumberFormatter.Style.decimal
        return numberFormatter.string(from: NSNumber(value:self))!
    }
}
Затем используйте код:
largeNumber.withCommas()
Также, на вопрос Хуана Фран Хименеса, я бы порекомендовал помещать форматировщик в одноэлементный, так как создание экземпляра форматирования обычно является относительно дорогостоящей операцией. (Это может повлиять на производительность, если вы форматируете на ходу, как пишет пользователь.)
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)) ?? ""
    }
}