当您具有以下代码时,
结果应为499.28
如何在不舍入小数点的情况下删除小数点?
var tmp:Double = 499.28999999999996
print(tmp.someFunction()) //-> 499.28 String
谢谢。
答案 0 :(得分:2)
使用Float80
可以提高精度:
var tmp: Float80 = 499.28999999999996
let times100 = tmp * 100
let noFraction = times100 - times100.truncatingRemainder(dividingBy: 1)
tmp = noFraction/100
print(tmp) //499.28
答案 1 :(得分:1)
您可以通过一些缩放使用floor()
函数来获得所需的结果:
var tmp:Double = 499.28999999999996
floor(tmp * 100) / 100 //returns 499.28