<script language="JavaScript"> function PointReserve(operater,num){ // operater: 运算表达式 || num 是要保留的小数位数. var DD = 1; for(i=0;i<num;i++) DD*=10; return(Math.floor(operater*DD)/DD); }var a=12345.12; var b=12.12; var result = PointReserve(a+b,2); document.write(result); </script>
<script language="JavaScript"> function PointReserve(operater,num){ // operater: 运算表达式 || num 是要保留的小数位数. var DD = 1; for(i=0;i<num;i++) DD*=10; return(Math.floor(operater*DD)/DD); }var a=12345.12223; var b=12.12; tmp = a.toString(); num1= tmp.length-tmp.indexOf(".")-1; tmp = b.toString(); num2= num = tmp.length-tmp.indexOf(".")-1; var result = PointReserve(a+b,num1>num2?num1:num2); document.write(result); </script>
<SCRIPT LANGUAGE="JavaScript"> <!-- function multiply(a,b){ a=String(a); var i=a.length-a.indexOf(".")-1; i=(i>=a.length)?0:i b=String(b); var j=b.length-b.indexOf(".")-1; j=(j>=b.length)?0:j var result = a.replace(".","")*b.replace(".","")/Math.pow(10,i+j) return result }function divide(a,b){ a=String(a); var i=a.length-a.indexOf(".")-1; i=(i>=a.length)?0:i b=String(b); var j=b.length-b.indexOf(".")-1; j=(j>=b.length)?0:j var result = a.replace(".","")/b.replace(".","")/Math.pow(10,i-j) return result } function add(a,b){ a=String(a); var i=a.length-a.indexOf(".")-1; i=(i>=a.length)?0:i b=String(b); var j=b.length-b.indexOf(".")-1; j=(j>=b.length)?0:j var x = Math.max(i,j); var result = (a*Math.pow(10,x)+b*Math.pow(10,x))/Math.pow(10,x); return result } function minus(a,b){ a=String(a); var i=a.length-a.indexOf(".")-1; i=(i>=a.length)?0:i b=String(b); var j=b.length-b.indexOf(".")-1; j=(j>=b.length)?0:j var x = Math.max(i,j); var result = (a*Math.pow(10,x)-b*Math.pow(10,x))/Math.pow(10,x); return result } var a=12345.12; var b=12.12 document.write(a+"+"+b+"="+(a+b)+"<br>") document.write(a+"+"+b+"="+add(a,b)+"<br>") document.write(a+"-"+b+"="+(a-b)+"<br>") document.write(a+"-"+b+"="+minus(a,b)+"<br>") document.write(a+"*"+b+"="+(a*b)+"<br>") document.write(a+"*"+b+"="+multiply(a,b)+"<br>") document.write(a+"/"+b+"="+(a/b)+"<br>") document.write(a+"/"+b+"="+divide(a,b)+"<br>")//--> </SCRIPT>
var a=12345.12;
var b=12.12;
var result = Math.floor((a+b)*100)/100;
document.write(result);
</script>
你不是只要求结果保留两位吗?
如果a=112.1 b=1.1
result希望显示为113.2,而不是113.19999999999999
如果a=12345.12 b=12.12
result希望是12357.4
function PointReserve(operater,num){ // operater: 运算表达式 || num 是要保留的小数位数.
var DD = 1;
for(i=0;i<num;i++) DD*=10;
return(Math.floor(operater*DD)/DD);
}var a=12345.12;
var b=12.12;
var result = PointReserve(a+b,2);
document.write(result);
</script>
PointReserve(operater,num)
~~~~~~在函数调用的时候并不能确定
function PointReserve(operater,num){ // operater: 运算表达式 || num 是要保留的小数位数.
var DD = 1;
for(i=0;i<num;i++) DD*=10;
return(Math.floor(operater*DD)/DD);
}var a=12345.12223;
var b=12.12;
tmp = a.toString();
num1= tmp.length-tmp.indexOf(".")-1;
tmp = b.toString();
num2= num = tmp.length-tmp.indexOf(".")-1;
var result = PointReserve(a+b,num1>num2?num1:num2);
document.write(result);
</script>
<!--
function multiply(a,b){
a=String(a);
var i=a.length-a.indexOf(".")-1;
i=(i>=a.length)?0:i
b=String(b);
var j=b.length-b.indexOf(".")-1;
j=(j>=b.length)?0:j
var result = a.replace(".","")*b.replace(".","")/Math.pow(10,i+j)
return result
}function divide(a,b){
a=String(a);
var i=a.length-a.indexOf(".")-1;
i=(i>=a.length)?0:i
b=String(b);
var j=b.length-b.indexOf(".")-1;
j=(j>=b.length)?0:j
var result = a.replace(".","")/b.replace(".","")/Math.pow(10,i-j)
return result
}
function add(a,b){
a=String(a);
var i=a.length-a.indexOf(".")-1;
i=(i>=a.length)?0:i
b=String(b);
var j=b.length-b.indexOf(".")-1;
j=(j>=b.length)?0:j
var x = Math.max(i,j);
var result = (a*Math.pow(10,x)+b*Math.pow(10,x))/Math.pow(10,x);
return result
}
function minus(a,b){
a=String(a);
var i=a.length-a.indexOf(".")-1;
i=(i>=a.length)?0:i
b=String(b);
var j=b.length-b.indexOf(".")-1;
j=(j>=b.length)?0:j
var x = Math.max(i,j);
var result = (a*Math.pow(10,x)-b*Math.pow(10,x))/Math.pow(10,x);
return result
}
var a=12345.12;
var b=12.12
document.write(a+"+"+b+"="+(a+b)+"<br>")
document.write(a+"+"+b+"="+add(a,b)+"<br>")
document.write(a+"-"+b+"="+(a-b)+"<br>")
document.write(a+"-"+b+"="+minus(a,b)+"<br>")
document.write(a+"*"+b+"="+(a*b)+"<br>")
document.write(a+"*"+b+"="+multiply(a,b)+"<br>")
document.write(a+"/"+b+"="+(a/b)+"<br>")
document.write(a+"/"+b+"="+divide(a,b)+"<br>")//-->
</SCRIPT>