复制代码 代码如下:
/**
* 格式化数字
* Author : Z,Mingyu
* 参数:
* prmNum (Number) : 要格式化的数字
* prmPtn (String) : 格式化规则,例如:#,##0.00
* * prmNullValue : 当要格式化的数字为null、空或非数字时,返回的结果。默认为0
*/
function formatNum(prmNum,prmPtn,prmNullValue){
var nullValue = prmNullValue ? prmNullValue : 0;
if(prmNum == "" || prmNum == null) return nullValue;
prmNum = prmNum.replace(/,/g,"");
if(isNaN(prmNum)) return nullValue;
if(prmPtn == "" || prmPtn == null) return prmNum;
var ptnLen = prmPtn.length;
var pointIndex = prmPtn.indexOf(".");
var groupIndex = prmPtn.indexOf(",");
var pointLen = (pointIndex == -1 ? 0 : ptnLen - pointIndex - 1);
prmNum = parseFloat(prmNum).toFixed(pointLen) + "";
if(groupIndex != -1){
if(pointIndex == -1) pointIndex = ptnLen;
var len = pointIndex - groupIndex - 1;
var reg = new RegExp("(-?d+)(d{"+len+"})");
while(reg.test(prmNum)) prmNum = prmNum.replace(reg,"$1,$2");
}
return prmNum;
}