>  기사  >  웹 프론트엔드  >  js_javascript 기술의 정확한 덧셈과 뺄셈 계산의 예

js_javascript 기술의 정확한 덧셈과 뺄셈 계산의 예

WBOY
WBOY원래의
2016-05-16 16:53:561277검색

/精确计管管算加법과 减법。例如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 최대 길이=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;idataOneFloat ="0";
}
for(var i=0;idataTwoFloat ="0";
}

/**
* 두 데이터를 곱하여
* 두 데이터를 모두 정수로 만듭니다. 정수 계산
*이 더 정확하기 때문입니다.
*/
var one=dataOneInt "" dataOneFloat;
var two=dataTwoInt "" dataTwoFloat;
//alert("dataOne:" dataOne " dataTwo:" dataTwo " one:" 하나 " two:" two);

/**
*데이터를 배수로 확장한 후 계산된 결과를 얻습니다.
*그런 다음 동일한 배수로 줄여
* 올바른 결과를 얻습니다
*/
var result= (숫자(1) 숫자(2))/Math.pow(10,maxLength);

반환 결과;

}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.