Copy Code code as follows:
<span style= "font-size:18px" >//Description: JavaScript addition results will be error, in two floating-point number added when it is more obvious. This function returns a more precise addition result.
Call: Accadd (ARG1,ARG2)
return value: Arg1 plus arg2 's exact result
function Accadd (ARG1,ARG2) {
var r1,r2,m;
Try{r1=arg1.tostring (). Split (".") [1].length}catch (e) {r1=0}
Try{r2=arg2.tostring (). Split (".") [1].length}catch (e) {r2=0}
M=math.pow (10,math.max (R1,R2))
Return (arg1*m+arg2*m)/M
}</span>
Copy Code code as follows:
<span style= "font-size:18px" >
Description: JavaScript subtraction results will be error, in two floating-point numbers added when it is more obvious. This function returns a more accurate subtraction result.
Call: Accsub (ARG1,ARG2)
Return value: arg1 The exact result of reducing ARG2
function Accsub (ARG1,ARG2) {
Return Accadd (ARG1,-ARG2);
}</span>
Copy Code code as follows:
<span style= "font-size:18px" >
Description: JavaScript multiplication results will be error, in two floating-point numbers are more obvious when multiplying. This function returns a more accurate result of the multiplication.
Call: Accmul (ARG1,ARG2)
return value: Arg1 times Arg2 's exact result
function Accmul (ARG1,ARG2)
{
var m=0,s1=arg1.tostring (), s2=arg2.tostring ();
Try{m+=s1.split (".") [1].length}catch (e) {}
Try{m+=s2.split (".") [1].length}catch (e) {}
Return number (S1.replace (".", "")) *number (S2.replace (".", ""))/math.pow (10,m)
}</span>
Copy Code code as follows:
<span style= "font-size:18px" >
// Description: JavaScript division results will be error, the two floating-point numbers are more obvious when dividing. This function returns a more precise division result.
//Call: Accdiv (ARG1,ARG2)
//return value: Arg1 divided by arg2 exact result
function Accdiv (arg1 , arg2) {
var t1=0,t2=0,r1,r2;
try{t1=arg1.tostring (). Split (".") [1].length}catch (E) {}
try{t2=arg2.tostring (). Split (".") [1].length}catch (E) {}
with (Math) {
R1=number (arg1.tostring (). Replace (".", ""))
R2=number ( Arg2.tostring (). Replace (".", ""))
return (R1/R2) *pow (10,t2-t1 );
}
}</span>