我已经完成了格式化数字的操作,但是对于大数它却失败了
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
if let number = formatter.number(from: "123456789123456789123") , let str = formatter.string(from:number){
print(number)
print(str)
}
打印
123456789123456800000
123,456,789,123,456,800,000
应该打印
123456789123456789123
123,456,789,123,456,789,123
我认为应该有数字溢出,有没有其他选择可以实现这种事情。
let formatter = NumberFormatter()
formatter.numberStyle = .decimal
if let decimalNumber = Decimal(string: "123456789123456789123"), let str = formatter.string(from:decimalNumber as NSNumber) {
print(decimalNumber)
print(str)
}