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(3)=1.392。


版权声明:本文为windawn_liu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。