累加数字时用 Number 函数可以确保是数字累加而不是字符连接。
另外一个高人写了一个强制保留小数点后几位的函数
function format_number(srcNumber, n) { var dstNumber = parseFloat(srcNumber); if(isNaN(dstNumber)){return srcNumber;} if(dstNumber>=0){ dstNumber = parseInt(dstNumber*Math.pow(10, n)+0.5)/Math.pow(10, n); } else { var tmpDstNumber = -dstNumber; dstNumber = parseInt(tmpDstNumber*Math.pow(10, n)+0.5)/Math.pow(10, n); } var dstStrNumber = dstNumber.toString(); var dotIndex = dstStrNumber.indexOf('.'); if(dotIndex<0){ dotIndex = dstStrNumber.length; dstStrNumber += '.'; } while(dstStrNumber.length <= dotIndex+n){dstStrNumber += '0'; } return dstStrNumber; }
使用方法
alert(format_number('82',2)) //82.00