首先,我们知道计算机是做二进制运算的,因此我们将十进制的数转化成二进制,最后二进制运算完再转化成十进制是有精度丢失的。
例如
- 0.1 + 0.7 = 0.799999999999999
解决方法:
主动保留n为小数,得到数据类型是字符
- ` num = num.toFixed(n);
- 转成数值
- ` num = Number(num);
因此我建议num=Number(num.toFixed(n));
首先,我们知道计算机是做二进制运算的,因此我们将十进制的数转化成二进制,最后二进制运算完再转化成十进制是有精度丢失的。
例如
- 0.1 + 0.7 = 0.799999999999999
解决方法:
主动保留n为小数,得到数据类型是字符
- ` num = num.toFixed(n);
- 转成数值
- ` num = Number(num);
因此我建议num=Number(num.toFixed(n));