数值格式化

<script>   
  //#######################   
  // 数字格式化函数   
  // 用法:本函数用来格式化数字。   
  // 参数:num(数值型):要进行格式化的数值型变量;   
  // decimalNum(整型)   :要保留的小数位数;   
  // bolLeadingZero   (布尔型:true或   false):对-1<num<1之间的数是否要添加前导数字0;   
  // bolParens   (布尔型:true或   false):在负号后是否使用小括号;   
  // bolCommas   (布尔型:true或   false):是否用“,”隔开数字位。   
  //     返回值:经过格式化的数字字符串。   
  //#######################   
  //     下面是例子:   
  //alert(FormatNumber(534520.54354644654,5,false,false,true))   
    
  function   FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)   
  {     
      if   (isNaN(parseInt(num)))   return   "NaN";  
	  var   tmpNum   =   num;   
	  var   iSign   =   num   <   0   ?   -1   :   1; //   得到数字符号   
		
	  //   调整小数点位数到给定的数字。   
	  tmpNum   *=   Math.pow(10,decimalNum);   
	  tmpNum   =   Math.round(Math.abs(tmpNum))   
	  tmpNum   /=   Math.pow(10,decimalNum);   
	  tmpNum   *=   iSign; //   重新调整符号   
	  var   tmpNumStr   =   new   String(tmpNum);   
		
	  //   处理是否有前导0   
	  if   (!bolLeadingZero   &&   num   <   1   &&   num   >   -1   &&   num   !=   0)   
	  if   (num   >   0)   
	  tmpNumStr   =   tmpNumStr.substring(1,tmpNumStr.length);   
	  else   
	  tmpNumStr   =   "-"   +   tmpNumStr.substring(2,tmpNumStr.length);   
		
	  //处理是否有逗号   
	  if   (bolCommas   &&   (num   >=   1000   ||   num   <=   -1000))   {   
	  var   iStart   =   tmpNumStr.indexOf(".");   
	  if   (iStart   <   0)   
	  iStart   =   tmpNumStr.length;   
		
	  iStart   -=   3;   
	  while   (iStart   >=   1)   {   
	  tmpNumStr   =   tmpNumStr.substring(0,iStart)   +   ","   +   tmpNumStr.substring(iStart,tmpNumStr.length)   
	  iStart   -=   3;   
	  }   
	  }   
		
	  //   处理是否有括号   
	  if   (bolParens   &&   num   <   0)   
	  tmpNumStr   =   "("   +   tmpNumStr.substring(1,tmpNumStr.length)   +   ")";   
		
	  return   tmpNumStr; //   返回格式化后字符串   
  }   
  </script>

你可能感兴趣的:(格式化)