您现在的位置: 万盛学电脑网 >> 程序编程 >> 脚本专题 >> javascript >> 正文

js中精确计算加法和减法示例

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了js中如何精确计算加法和减法,需要的朋友可以参考下

/精确计算加法和减法。例如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;    }