Posted in Javascript onNovember 26, 2013
在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。
javascript的parseFloat()方法精度问题探讨
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@