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;
网友评论