javascript的parseFloat()方法精度问题探讨

  在Javascript中parseFloat()方法会产生精度问题

  

复制代码 代码如下:

  <script language="javascript">

  var a = "0.11";

  var b = "0.2801";

  var c = "1.002";

  var sum1 = parseFloat(a) + parseFloat(b) + parseFloat(c);

  var sum2 = (parseFloat(a) + parseFloat(b) + parseFloat(c)).toFixed(4)

  document.write("a+b+c=" + sum1);

  document.write("<br/>")

  document.write("a+b+c=" + sum2)

  </script>

  a,b,c相加本来为1.3921,但sum1得出的结果为:1.3921000000000001,这不是想要的结果,特别在计算金钱的时候,不需要如此精确的精度。可以使用toFixed(n)方法修正后(n是小数后精确的位数)。

  例如:parseFloat(1.392143).toFixed(2)=1.39。