原文:http://www.jb51.net/article/85463.htm
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 accMul((r1/r2),pow(10,t2-t1)); } } //乘法 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) } //加法 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 } //减法 function Subtr(arg1,arg2){ var r1,r2,m,n; 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)); n=(r1>=r2)?r1:r2; return ((arg1*m-arg2*m)/m).toFixed(n); }
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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
accMul((r1/r2),pow(10,t2-t1));
}
}
//乘法
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)
}
//加法
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
}
//减法
function
Subtr(arg1,arg2){
var
r1,r2,m,n;
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));
n=(r1>=r2)?r1:r2;
return
((arg1*m-arg2*m)/m).toFixed(n);
}