解决方案 »

  1.   

    什么叫一串小数?是想取两位有效数字吗?用.toFixed(2)
      

  2.   

    另外你的设计,可以考虑使用id来替代name,这样的话通过id循环计算,而不用手写每个单价和数量。比如function $(id){
        return document.getElementById(id);
    }function isNumber(n) {
      return !isNaN(parseFloat(n)) && isFinite(n);
    }function plus_money(){
        var sum = 0;
        for(var i = 1; i <= 6; ++i){
            var qty = isNumber($('shu' + i).value) ? $('shu' + i).value : 0;
            var price = isNumber($('dan' + i).value) ? $('dan' + i).value : 0;
            sum += qty * price;
        }
        $('span_plus_money').innerHTML = sum;
        $('heji').value = sum;
    }
      

  3.   

    浮点计算会出现精度问题,要用#2的toFixed转换下精度document.all("span_plus_money").innerHTML=(shu1*dan1+shu2*dan2+shu3*dan3+shu4*dan4+shu5*dan5+shu6*dan6).toFixed(2)//想要多少个小数位修改2这个参数
      

  4.   

    先用parseFloat转成浮点再运算,字符串直接运算太多问题,
    之后#2s楼说用toFixed()取小数位数就可以了