textbox1.value=parseFloat(12.24)+parseFloat(12.35)

解决方案 »

  1.   

    要得到准确值,可以先转换成整数,在计算,然后除n*10,也可以用vbscript做,可以准确点
      

  2.   

    textbox1.value=parseFloat(12.24)+parseFloat(12.35)
    我用的就是这样,
    可得到的是24。58999999995
    不是24。59
    我要的是正确的直,用javascript 写的。
      

  3.   

    try<script>
    alert(qswhAdd(12.24,12.35))
    function qswhAdd(n1,n2){
    var r1,r2,m;
    try{r1=n1.toString().split(".")[1].length}catch(e){r1=0}
    try{r2=n2.toString().split(".")[1].length}catch(e){r2=0}
    m=Math.pow(10,Math.max(r1,r2))
    return (n1*m+n2*m)/m
    }
    </script>
      

  4.   

    用四舍五入啊,我以前也为这个头大,现在的方法是:
    var a=12.24
    var b=12.35
    var v=Math.round(eval(a+b)*100)/100;
    alert(v)
      

  5.   

    这个方法我也试过,可我的程式必须是一句话,就要写完的代码(在asp.net的datagrid中加载的)
    有没有,更简单的,一个函数就可以实现的 
    我给200分呀,不然我就要 下岗了!!!
    救命呀。
      

  6.   

    m为要转化的数,n为小数位数,对于小数末尾的0会舍弃
    <script>
    alert(decimal(28.5899,2));
    function decimal(m,n){
      with(Math){
       return round(m*pow(10,n))/pow(10,n);
      }
    }
    </script>
      

  7.   

    http://expert.csdn.net/Expert/topic/1109/1109616.xml?temp=.2280237
      

  8.   

    我不知道你用的浏览器的版本,我用的IE6SP1下不存在你的问题。这是我测试的结果,很正常
    <script>
    function j()
    {
    var a=document.form1.a1.value
    var b=document.form1.a2.value
    //var v=Math.round((parseFloat(a)+parseFloat(b))*100)/100;
    var v=parseFloat(a)+parseFloat(b)
    document.form1.a3.value=v;
    }
    </script><form name=form1>
    <input type=text value=12.24 name=a1>
    <input type=text value=12.35 name=a2>
    <input type=text value=0 name=a3>
    <input type=button value=计算 name=b onclick="j()">
      

  9.   

    我觉得也很奇怪,12.24+12.35直接就等于24.59啊
    <script>
    alert(12.24+12.35)
    </script>
      

  10.   

    freefalcon(心宇) 的方法挺好,先收藏
      

  11.   

    <script>alert(111112.24+111112.35)</script>freefalcon(心宇) 的方法包含在我上述的方法里,呵呵
     
      

  12.   

    我已经找到了方法:
    textbox1.value=(parsefloat(a)+parsefloat(b)).toFixed(2)
    光用parsefloat(a)+parsefloat(b))会不时的出现控制不了的结果。
      

  13.   

    toFixed要求5.5,你肯定是截取两位么?