展会信息港展会大全

js中精确计算加法和减法示例
来源:互联网   发布日期:2016-01-26 10:23:09   浏览:1895次  

导读:这篇文章主要介绍了js中如何精确计算加法和减法,需要的朋友可以参考下 精确计算加法和减法。例如0 1+0 2=0 3或 0 1-0 2=-0 1代码如下:function addFn(dataOne,dataTwo){var dataOneInt=dataOne toString() sp ...

这篇文章主要介绍了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;

}

赞助本站

人工智能实验室

相关热词: 精确计算 加法 减法 js

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港