计算机在内部计算实现是把他转化为二进制数相加后再转化为10进制数,js使用双精度浮点数来存储(使用64位
固定长度来保存)
0.1和0.2转化为2进制后面是无线循环的1100(两个数均为无限循环小数),所以两者相加自然不等于0.3转化为2进制的值
解决方法
1,将其先转换成整数,再相加之后转回小数
2,使用number对象的toFixed方法,toFixed方法可以指定运算结果的小数点后的指定位数的数字,使保留一位小数就是toFixed(1)
计算机在内部计算实现是把他转化为二进制数相加后再转化为10进制数,js使用双精度浮点数来存储(使用64位
固定长度来保存)
0.1和0.2转化为2进制后面是无线循环的1100(两个数均为无限循环小数),所以两者相加自然不等于0.3转化为2进制的值
解决方法
1,将其先转换成整数,再相加之后转回小数
2,使用number对象的toFixed方法,toFixed方法可以指定运算结果的小数点后的指定位数的数字,使保留一位小数就是toFixed(1)