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

以上代码可以对指定的数字按照指定的格式进行格式化,非常的好用。

回复

我来回复
  • 暂无回复内容