当你有下面的代码时,
结果应该是499.28
如何在不舍入小数点的情况下删除小数点?

var tmp:Double = 499.28999999999996
print(tmp.someFunction()) //-> 499.28 String

谢谢。

最佳答案

使用Float80可获得更高的精度:

var tmp: Float80 = 499.28999999999996

let times100 = tmp * 100

let noFraction =  times100 - times100.truncatingRemainder(dividingBy: 1)

tmp = noFraction/100

print(tmp)   //499.28

10-06 13:10