JavaScript格式化數字

admin發表於2018-07-19

在實際操作中,特別是關於數字的操作中,有時候需要對數字進行格式化。

程式碼例項如下:

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

以上程式碼可以對指定的數字按照指定的格式進行格式化,非常的好用。

相關文章