<html>
<head>
<script type="text/javascript">
           function getA(obj){
            var id = obj.id; 
            var pre = id.split("_")[0];
            var sum = 0;
            for(i=1;i<=12;i++){
                var c = document.getElementById(pre+"_"+i).value;
                if(c!=''&&!isNaN(c)){
                    sum+=parseFloat(c,10);
                }
            }
            document.getElementById(pre+"_13").value=sum;
        }
function getRest(thisObj){
              var id = $(thisObj).attr('id');
              var idQTSR = null;
              var idQTZC = null;
              var idQTLR = null;
              var vQTSR = 0;
              var vQTZC = 0;
              var vQTLR = 0;
          if(id.indexOf('QTZC') > 0){
          idQTSR = id.replace('QTZC', 'QTSR');
          idQTZC = id;
          idQTLR = id.replace('QTZC', 'QTLR');
         }else{
          idQTSR = id;
          idQTZC = id.replace('QTSR','QTZC');
          idQTLR = id.replace('QTSR','QTLR');
         }
        vQTSR = parseFloat($('#' + idQTSR).val());
        vQTZC = parseFloat($('#' + idQTZC).val());
        
        if (!isNaN(vQTSR) & !isNaN(vQTZC)) {
        $('#' + idQTLR).val(vQTSR - vQTZC);
        }
    }
</script>
</head>
<body>
<form action="" method="post">
<table>
<tr>
<td>其他业务收入</td>
<td><input type="text" onblur="getRest(this);getA(this)" name="1QTSR" id="hzQTSR_1" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="2QTSR" id="hzQTSR_2" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="3QTSR" id="hzQTSR_3" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="4QTSR" id="hzQTSR_4" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="5QTSR" id="hzQTSR_5" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="6QTSR" id="hzQTSR_6" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="7QTSR" id="hzQTSR_7" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="8QTSR" id="hzQTSR_8" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="9QTSR" id="hzQTSR_9" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="10QTSR" id="hzQTSR_10" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="11QTSR" id="hzQTSR_11" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="12QTSR" id="hzQTSR_12" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this)" name="13QTSR" id="hzQTSR_13"size=2 style="border:0px;"/></td>
</tr>

<tr>
<td>其他业务支出</td>
<td><input type="text" onblur="getRest(this);getA(this)" name="1QTZC" id="hzQTZC_1" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="2QTZC" id="hzQTZC_2" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="3QTZC" id="hzQTZC_3" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="4QTZC" id="hzQTZC_4" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="5QTZC" id="hzQTZC_5" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="6QTZC" id="hzQTZC_6" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="7QTZC" id="hzQTZC_7" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="8QTZC" id="hzQTZC_8" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="9QTZC" id="hzQTZC_9" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="10QTZC" id="hzQTZC_10" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="11QTZC" id="hzQTZC_11" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this);getA(this)" name="12QTZC" id="hzQTZC_12" size=2 style="border:0px;"/></td>
<td><input type="text" onblur="getRest(this)" name="13QTZC" id="hzQTZC_13" size=2 style="border:0px;"/></td>
</tr>

<tr>
<td>其他业务利润</td>
<td><input  type="text" name="1QTLR" onblur="getA(this)" id="hzQTLR_1"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="2QTLR" onblur="getA(this)" id="hzQTLR_2"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="3QTLR" onblur="getA(this)" id="hzQTLR_3"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="4QTLR" onblur="getA(this)" id="hzQTLR_4"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="5QTLR" onblur="getA(this)" id="hzQTLR_5"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="6QTLR" onblur="getA(this)" id="hzQTLR_6" size=2 style="border:0px;"/> </td>
<td><input  type="text" name="7QTLR" onblur="getA(this)" id="hzQTLR_7"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="8QTLR" onblur="getA(this)" id="hzQTLR_8"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="9QTLR" onblur="getA(this)" id="hzQTLR_9"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="10QTLR" onblur="getA(this)" id="hzQTLR_10"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="11QTLR" onblur="getA(this)" id="hzQTLR_11"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="12QTLR" onblur="getA(this)" id="hzQTLR_12"  size=2 style="border:0px;"/></td>
<td><input  type="text" name="13QTLR" id="hzQTLR_13"  size=2 style="border:0px;"/></td>
</tr>
</table>
</form>
</body>
</html>
其他业务收入 和其他业务支出 这两行的前12列的值是手动输入的,第十三列的值为前12列的值和,调用getA(this)这个方法。
其他业务利润 这行的值为 其他业务收入 减去 其他业务支出,调用getRest(this)这个方法。
如何修改我的JS ,实现每行的第十三列的值保留两位小数,其他业务利润这行的每列值都保留两位小数。

解决方案 »

  1.   

      document.getElementById(pre+"_13").value=sum.toFixed(2);
      

  2.   


    alert(Math.round(你的小数*100)/100)
      

  3.   

    function formart(val,num)
    {
     var multiplicand = Math.pow(10,num);
     var result = Math.round(val * multiplicand)/multiplicand;
     return result;
    } -------------
    val是原数值,num是表示取小数点后几位,这个还是带四舍五入的。
      

  4.   

    sum.toFixed(2)(sum必须为数值!!即need 用parseInt()转换下)和Math.round(sum*100)/100(sum若为“3.875”这样的也可以)都可以。。