【发布时间】:2019-06-24 10:06:28
【问题描述】:
我想将这个数字 12345678901234567000.0 转换为字符串,所以我在下面写了扩展名。
extension Double {
var clean: String {
let formatter = NumberFormatter()
let number = NSNumber(value: self)
formatter.minimumFractionDigits = 0
formatter.maximumFractionDigits = 16
let cleanedString = String(formatter.string(from: number) ?? "")
if let firstLetter = cleanedString.first, firstLetter == "." {
return "0\(cleanedString)"
}
return cleanedString
}
}
let number = 12345678901234567000.0
print(number.clean) // output is 12345678901234600000
但它返回错误的数字 12345678901234600000,7 消失了,又添加了 2 个零。
我该如何解决这个问题?
【问题讨论】:
标签: swift string type-conversion double nsnumberformatter