toFixed()可以设定保留几位小数嘛

解决方案 »

  1.   

    <script language="JavaScript">
    var a=12345.12;
    var b=12.12;
    var result = Math.floor((a+b)*100)/100;
    document.write(result);
    </script>
      

  2.   

    你对result使用即可,管a、b做什么?
    你不是只要求结果保留两位吗?
      

  3.   

    我当然不是只要求保留两位,我的想法是
    如果a=112.1 b=1.1
    result希望显示为113.2,而不是113.19999999999999
    如果a=12345.12 b=12.12
    result希望是12357.4
      

  4.   

    <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>
      

  5.   

    也不对,因为a和b的小数位数可能是不固定的,所以
    PointReserve(operater,num)
                          ~~~~~~在函数调用的时候并不能确定
      

  6.   

    <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>
      

  7.   

    <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>