JS 浮点型数字运算

阅读更多

示例:

 

var num1=3.3;
 var num2=7.17;
 var ret=parseFloat(num1)+parseFloat(num2);
 //ret的值为:10.469999999999998

 

这是JS对浮点型数据运算时,个别比较特殊的数字存在bug,可能是计算机对二进制处理的问题吧,具体原因有待深究。

解决办法:通过toFixed(fractionDigits)对其进行修复(fractionDigits:为最终保留的小数位数)。

 

var ret=(parseFloat(num1)+parseFloat(num2)).toFixed(2);
 //ret的值为:10.47

 

你可能感兴趣的:(javascript,JS浮点运算bug)