<script type=
"text/javascript"
>
function
accAdd(num1,num2){
var
r1,r2,m;
try
{
r1 = num1.toString().split('.')[1].length;
}
catch
(e){
r1 = 0;
}
try
{
r2=num2.toString().split(
"."
)[1].length;
}
catch
(e){
r2=0;
}
m=Math.pow(10,Math.max(r1,r2));
return
Math.
round
(num1*m+num2*m)/m;
}
function
accSub(num1,num2){
var
r1,r2,m;
try
{
r1 = num1.toString().split('.')[1].length;
}
catch
(e){
r1 = 0;
}
try
{
r2=num2.toString().split(
"."
)[1].length;
}
catch
(e){
r2=0;
}
m=Math.pow(10,Math.max(r1,r2));
n=(r1>=r2)?r1:r2;
return
(Math.
round
(num1*m-num2*m)/m).toFixed(n);
}
function
accp(num1,num2){
var
t1,t2,r1,r2;
try
{
t1 = num1.toString().split('.')[1].length;
}
catch
(e){
t1 = 0;
}
try
{
t2=num2.toString().split(
"."
)[1].length;
}
catch
(e){
t2=0;
}
r1=Number(num1.toString().replace(
"."
,
""
));
r2=Number(num2.toString().replace(
"."
,
""
));
return
(r1/r2)*Math.pow(10,t2-t1);
}
function
accMul(num1,num2){
var
m=0,s1=num1.toString(),s2=num2.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);
}
</script>
<script>
document.write(
"使用js原生态方法"
);
document.write(
"<br/> 1.01 + 1.02 ="
+(1.01 + 1.02));
document.write(
"<br/> 1.01 - 1.02 ="
+(1.01 - 1.02));
document.write(
"<br/> 0.000001 / 0.0001 ="
+(0.000001 / 0.0001));
document.write(
"<br/> 0.012345 * 0.000001 ="
+(0.012345 * 0.000001));
document.write(
"<br/><hr/>"
);
document.write(
"<br/>使用自定义方法"
);
document.write(
"<br/> 1.01 + 1.02 ="
+accAdd(1.01,1.02));
document.write(
"<br/> 1.01 - 1.02 ="
+accSub(1.01,1.02));
document.write(
"<br/> 0.000001 / 0.0001 ="
+accp(0.000001,0.0001));
document.write(
"<br/> 0.012345 * 0.000001 ="
+accMul(0.012345,0.000001));
</script>