美文网首页
float转double时bug

float转double时bug

作者: LX_代码制造坊 | 来源:发表于2019-12-18 16:54 被阅读0次

无论时前后端 js也好,java也好,都会遇到一个问题,当数值进行计算的时候,结果突然小数点后带了很多数字,其实不是计算错误。而是计算时精度转换的结果。

如果想要避免出现这个情况,比如说前端ajax在接收到数值类型的数据时,直接用双精度进行接收,这样在运算时的值才会正常。

如下:

    正常结果是:45;

而实际运行结果:44.99999923706055

还有一种情况:

在强制类型转换中,如果是将浮点类型的值转换为整数,直接去掉小数点后边的所有数字;而如果是整数类型强制转换为浮点类型时,将在小数点后面补零。

如下图:

运行结果将double强制转换为int类型,则小数点后的数字全部消失。这会造成很大的误差,所以我们在写东西的时候需要注意这点。

输出结果为:44

相关文章

网友评论

      本文标题:float转double时bug

      本文链接:https://www.haomeiwen.com/subject/vwpunctx.html