PHP数字格式化,数字每三位加逗号

php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下:

  1. function num_format($num){ 
  2.     if(!is_numeric($num)){ 
  3.         return false; 
  4.     } 
  5.     $num = explode('.',$num);//把整数和小数分开 
  6.     $rl = $num[1];//小数部分的值 
  7.     $j = strlen($num[0]) % 3;//整数有多少位 
  8.     $sl = substr($num[0], 0, $j);//前面不满三位的数取出来 
  9.     $sr = substr($num[0], $j);//后面的满三位的数取出来 
  10.     $i = 0; 
  11.     while($i <= strlen($sr)){ 
  12.         $rvalue = $rvalue.','.substr($sr$i, 3);//三位三位取出再合并,按逗号隔开 
  13.         $i = $i + 3; 
  14.     } 
  15.     $rvalue = $sl.$rvalue
  16.     $rvalue = substr($rvalue,0,strlen($rvalue)-1);//去掉最后一个逗号 
  17.     $rvalue = explode(',',$rvalue);//分解成数组 
  18.     if($rvalue[0]==0){ 
  19.         array_shift($rvalue);//如果第一个元素为0,删除第一个元素 
  20.     } 
  21.     $rv = $rvalue[0];//前面不满三位的数 
  22.     for($i = 1; $i < count($rvalue); $i++){ 
  23.         $rv = $rv.','.$rvalue[$i]; 
  24.     } 
  25.     if(!empty($rl)){ 
  26.         $rvalue = $rv.'.'.$rl;//小数不为空,整数和小数合并 
  27.     }else
  28.         $rvalue = $rv;//小数为空,只有整数 
  29.     } 
  30.     return $rvalue

另外可以使用系统自带的函数 string number_format ( float number [, int decimals [, string dec_point, string thousands_sep]] ):

  1. echo number_format('169856420'); 

输出结果将为:169,856,420

  1. echo number_format('1000000',2); 

输出结果将为:1,000,000.00

  1. echo number_format('1000000',2,',','.'); 

输出结果将为:1.000.000,00

转载请注明:代码家园 » PHP数字格式化,数字每三位加逗号

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)