javascript 浮点数字计算精度丢失

2018-11-26  本文已影响0人  SailingBytes

0.1+0.2 === 0.3   ???0.30000000000000004

2.4/0.8 = 3  ???2.9999999999999996

原因:

javascript使用IEEE 754-2008 标准定义的64bit浮点格式存储number。

整数部分长度为10,小数部分长度为16。

最后一个小数为0,则取1作为有效数字标志。

解决方法:(转换整数计算)

1、parseInt(number*100);         

2、Math.round((number*100)*1000)/1000;  

上一篇下一篇

猜你喜欢

热点阅读