Kotlin 中的Int Float值比较出错情况

今天突然想写一个年终奖计算器,税前和税后互转,显示的那种
然后写完,发现转来转去出错,检查很久才发现原来Kotlin的Int、Float等值比较不能乱来

var money = 85535f
var result = 85535.14f
期望是这两个不想等,但是....
println(money==result)
>> true
println(money.toString()==result.toString())
>> true
当然,期间试了double等等未果

然后查看各自的toString()等等实现方式,最重要的是发现了源码内介绍的说是比较之间会发生精度丢失
出现这种情况,个人觉得还是在Kotlin中调Java代码来实现主要计算功能比较好

推荐阅读更多精彩内容