从字符串中删除尾随数字

博格丹·博格达诺夫

我从JSON接收了两个Doubles:

1.120.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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章