<script> //####################### // 数字格式化函数 // 用法:本函数用来格式化数字。 // 参数:num(数值型):要进行格式化的数值型变量; // decimalNum(整型) :要保留的小数位数; // bolLeadingZero (布尔型:true或 false):对-1<num<1之间的数是否要添加前导数字0; // bolParens (布尔型:true或 false):在负号后是否使用小括号; // bolCommas (布尔型:true或 false):是否用“,”隔开数字位。 // 返回值:经过格式化的数字字符串。 //####################### // 下面是例子: //alert(FormatNumber(534520.54354644654,5,false,false,true)) function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas) { if (isNaN(parseInt(num))) return "NaN"; var tmpNum = num; var iSign = num < 0 ? -1 : 1; // 得到数字符号 // 调整小数点位数到给定的数字。 tmpNum *= Math.pow(10,decimalNum); tmpNum = Math.round(Math.abs(tmpNum)) tmpNum /= Math.pow(10,decimalNum); tmpNum *= iSign; // 重新调整符号 var tmpNumStr = new String(tmpNum); // 处理是否有前导0 if (!bolLeadingZero && num < 1 && num > -1 && num != 0) if (num > 0) tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length); else tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length); //处理是否有逗号 if (bolCommas && (num >= 1000 || num <= -1000)) { var iStart = tmpNumStr.indexOf("."); if (iStart < 0) iStart = tmpNumStr.length; iStart -= 3; while (iStart >= 1) { tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length) iStart -= 3; } } // 处理是否有括号 if (bolParens && num < 0) tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")"; return tmpNumStr; // 返回格式化后字符串 } </script>