当前位置:首页 > PHP教程 > php应用 > 列表

php用逗号格式化数字的方法(代码示例)

发布:smiling 来源: PHP粉丝网  添加日期:2022-06-02 09:25:54 浏览: 评论:0 

今日工作需要格式化数字显示当前商品价格,比如2335.32,需要格式化为2,335.32这样显示,我写了一个函数,总感觉这么简单的功能,但是却需要30多行代码来完成。

具体代码如下:

  1. <?php 
  2.  
  3. /**** 
  4.  
  5.  * @author Amos Wang 
  6.  
  7.  * @param $number 
  8.  
  9.  * @return mixed 
  10.  
  11.  */ 
  12.  
  13. function numberFormat($number) 
  14.  
  15. { 
  16.  
  17.     if(!is_numeric($number)){ 
  18.  
  19.         return $number;     //  只处理数字 
  20.  
  21.     } 
  22.  
  23.     list($integer,$decimal) = explode('.',$number); 
  24.  
  25.     $number_temp = "";  //  临时计数 
  26.  
  27.     $len = strlen($integer); 
  28.  
  29.     $sublen = 3;    //  每隔几位数加逗号 
  30.  
  31.     //处理整数部分 
  32.  
  33.     $i=1; 
  34.  
  35.    while(true){ 
  36.  
  37.        $pos = $i * $sublen; 
  38.  
  39.        $join = emptyempty($number_temp) ? "" : ","; // 连接符 
  40.  
  41.        $number_temp = substr($integer,(0-$pos),$sublen).$join.$number_temp; 
  42.  
  43.        if(($pos + $sublen) > $len){ 
  44.  
  45.            $number_temp = substr($integer,0,($len - $pos)).$join.$number_temp; 
  46.  
  47.            break; 
  48.  
  49.        } 
  50.  
  51.        $i++; 
  52.  
  53.    } 
  54.  
  55.     //处理小数部分 
  56.  
  57.     if(!emptyempty($decimal)){ 
  58.  
  59.         $number_temp = !emptyempty($number_temp) ? $number_temp.".".$decimal : "0.".$decimal; 
  60.  
  61.     } 
  62.  
  63.     return $number_temp; 
  64.  
  65. } 
  66.  
  67. $result = numberFormat(1234567.5564); 
  68.  
  69. print_r($result); 
  70.  
  71. ?> 
  72.  
  73. //结果输出1,234,567.5564

Tags: php逗号格式化数字

分享到: