原因分析:js在进行浮点型数值的运算的时候会出现不精确的现象,计算机进行二进制和十进制转换的过程中不精确; 例如: 0.1+0.2 = 0.30000000000000004; 2.4/0.8 = 2.9999999999999996; 解决办法:1、直接使用toFixed var num = 0.1+0.2; var n=num.toFixed(2); 2、先将数字转换为整数,再做其他运算,就是乘以10的n次方;//项目中用到的利率转换过程,rate为利率变量 var zeroLast = (rate + '').split('.')[1], var borrowRate = !!zeroLast ? Math.pow(10,zeroLast.length) : rate;
原因分析:js在进行浮点型数值的运算的时候会出现不精确的现象,计算机进行二进制和十进制转换的过程中不精确;
例如:
解决办法:
1、直接使用toFixed
2、
先将数字转换为整数,再做其他运算,就是乘以10的n次方;
//项目中用到的利率转换过程,rate为利率变量