好贷网好贷款

js 小数计算误差

发布时间:2016-12-5 16:36:29 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"js 小数计算误差",主要涉及到js 小数计算误差方面的内容,对于js 小数计算误差感兴趣的同学可以参考一下。

1、狀況描述   在調用JS相加減或乘時,計算結果出現錯誤。譬如:2.5-2=0.499999999999999。 2、解決方案       在js中,带小数的数据相加或相乘时总会出现好多位小数.这是因为在js中浮点数的计算是以2进制算的,解决方法一般是将小数化成整数后再作除法。 解決方法:       //加法 function addValue(value1,value2){ if(value1=="")value1="0"; if(value2=="")value2="0"; var temp1=0; var temp2=0; if(value1.indexOf(".")!=-1)   temp1=value1.length - value1.indexOf(".")-1; if(value2.indexOf(".")!=-1)   temp2=value2.length - value2.indexOf(".")-1; var temp=0; if(temp1>temp2) temp = (parseFloat(value1)+parseFloat(value2)).toFixed(temp1); else temp = (parseFloat(value1)+parseFloat(value2)).toFixed(temp2); return temp;    } //减法 function subValue(value1,value2){   if(value1 == "") value1="0"; if(value2 == "") value2="0"; var temp1 = 0; var temp2 = 0; if(value1.indexOf(".") != -1)   temp1 = value1.length - value1.indexOf(".")-1; if(value2.indexOf(".") != -1)   temp2 = value2.length - value2.indexOf(".")-1; var temp=0; if(temp1 > temp2) temp = (parseFloat(value1) - parseFloat(value2)).toFixed(temp1); else    temp = (parseFloat(value1)- parseFloat(value2)).toFixed(temp2); return temp; }

上一篇:delphi获取汉字拼音首字母〖各版本通用〗
下一篇:CDMA长短信问题

相关文章

相关评论