/**
* Format number
* Author: Z,Mingyu
* Parameters:
* prmNum (Number): The number to be formatted
* prmPtn (String): Formatting rules, such as :#,##0.00
* * prmNullValue: The result returned when the number to be formatted is null, empty or not a number. Default is 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;
}