String转double失去精度问题及解决
发布日期:2025-01-04 15:48 点击次数:83
String转double失去精度问题
最近遇到一个坑,19.9的字符串转double变成19.89,坑死我了。
现在把更改后的代码贴出来
这样亲测不会失去精度。最后说一句,细节很重要,特别是字符串转其他类型的时候。
Java精度丢失之String转Double转int
项目遇到一种需求
服务器返回我“0.850”,我需要显示八五折
看起来很简单,于是代码出来了:
随便找了两个数试了试都没问题就以为大功告成了,谁知道测试的同事告诉我0.570显示的是56而不是57,我抱着怀疑的态度验证了一下,的确是我错了!
我心里一惊,是不是还有其他的特殊数字也会出现这种诡异的现象呢?
经过验证,果然有三个数是特殊的数字!
0.2900.5700.580
解决办法
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。