JavaScript格式化数字的函数代码

复制代码 代码如下:

  /**

  * 格式化数字

  * 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;

  }