我从JSON接收了两个Doubles:
1.12
和 0.00007067999999
第二个数字会自动切换为科学计数法(7.067e-05),因此我正在使用该功能String(format:"%.8f", NUMBER)
来制作它0.00007067
,是的,它可以工作,但是现在我的第一个数字变为1.12000000
。如何清除尾随数字?
我已经尝试过使用Swift-从Double中删除尾随零,但是%g
格式再次将第二个数字更改为科学计数法,因此%g
不是一种选择。有什么建议么?
您可以使用NumberFormater
和设置最小和最大小数位数:
let double1 = 1.12
let double2 = 0.00007067999999
let numberFormatter = NumberFormatter()
numberFormatter.minimumFractionDigits = 2
numberFormatter.maximumFractionDigits = 8
numberFormatter.minimumIntegerDigits = 1
numberFormatter.string(for: double1) ?? "" // "1.12"
numberFormatter.string(for: double2) ?? "" // "0.00007068"
如果您想舍入小数位数,可以将格式器舍入模式选项设置为.down
:
numberFormatter.roundingMode = .down
numberFormatter.string(for: double2) ?? "" // "0.00007067"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句