js中精确计算加法和减法示例
js中精确计算加法和减法示例
发布时间:2016-12-30 来源:查字典编辑
摘要:/精确计算加法和减法。例如0.1+0.2=0.3或0.1-0.2=-0.1复制代码代码如下:functionaddFn(dataOne,da...

/精确计算加法和减法。例如0.1+0.2=0.3或 0.1-0.2=-0.1

复制代码 代码如下:

function addFn(dataOne,dataTwo){

var dataOneInt=dataOne.toString().split(".")[0];

var dataOneFloat="";

var dataTwoInt=dataTwo.toString().split(".")[0];

var dataTwoFloat="";

var lengthOne=0;

var lengthTwo=0;

var maxlength=0;

if(dataOne.toString().split(".").length==2){

dataOneFloat=dataOne.toString().split(".")[1];

lengthOne=dataOneFloat.toString().length;

}

if(dataTwo.toString().split(".").length==2){

dataTwoFloat=dataTwo.toString().split(".")[1];

lengthTwo=dataTwoFloat.toString().length;

}

maxLength=Math.max(lengthOne,lengthTwo);

for(var i=0;i<maxLength-lengthOne;i++){

dataOneFloat+="0";

}

for(var i=0;i<maxLength-lengthTwo;i++){

dataTwoFloat+="0";

}

/**

*对两个数据进行倍数放大

*使其都变为整数。因为整数计算

*比较精确。

*/

var one=dataOneInt+""+dataOneFloat;

var two=dataTwoInt+""+dataTwoFloat;

//alert("dataOne:"+dataOne+" dataTwo:"+dataTwo +" one:"+one+" two:"+two);

/**

*数据扩大倍数后,经计算的到结果,

*然后在缩小相同的倍数

*进而得到正确的结果

*/

var result= (Number(one)+Number(two))/Math.pow(10,maxLength);

return result;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类