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

Tags: php逗号格式化数字

分享到: