数值千分位显示,若为小数,保留两位小数,若为整数,小数点后默认为00

function formatNumber(num){ 

  if(isNaN(num)){  
    num=parseFloat(num.toFixed(2));
  }  
  num = num+"";  

  if(/^.*\..*$/.test(num)){  

  //若num为小数

     var pointIndex =num.lastIndexOf(".");

  //截取整数部分

     var intPart = num.substring(0,pointIndex);  

  //截取小数部分

     var pointPart =num.substring(pointIndex+1,num.length);

  //若小数部分只有1位,则在小数部分后面加0

     if(pointPart.length==1){
     pointPart = pointPart+'0';
     }
     intPart = intPart +"";  
      var re =/(-?\d+)(\d{3})/  
      while(re.test(intPart)){  
         intPart =intPart.replace(re,"$1,$2")  
      }  
     num = intPart+"."+pointPart;  

  }else{  

  //若num为整数,则在后面加.00

     num = num +".00";  
     var pointIndex =num.lastIndexOf(".");
     var intPart = num.substring(0,pointIndex);  
     var pointPart =num.substring(pointIndex+1,num.length);
     intPart = intPart +"";  
      var re =/(-?\d+)(\d{3})/  
      while(re.test(intPart)){  
         intPart =intPart.replace(re,"$1,$2")  
      }  
     num = intPart+"."+pointPart;
  }  
  return num;  
}  

你可能感兴趣的:(数值千分位显示,若为小数,保留两位小数,若为整数,小数点后默认为00)