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

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

具体代码如下:

<?php
/****
 * @author Amos Wang
 * @param $number
 * @return mixed
 */
function numberFormat($number)
{
    if(!is_numeric($number)){
        return $number;     //  只处理数字
    }
    list($integer,$decimal) = explode(&#39;.&#39;,$number);
    $number_temp = "";  //  临时计数
    $len = strlen($integer);
    $sublen = 3;    //  每隔几位数加逗号
    //处理整数部分
    $i=1;
   while(true){
       $pos = $i * $sublen;
       $join = empty($number_temp) ? "" : ","; // 连接符
       $number_temp = substr($integer,(0-$pos),$sublen).$join.$number_temp;
       if(($pos + $sublen) > $len){
           $number_temp = substr($integer,0,($len - $pos)).$join.$number_temp;
           break;
       }
       $i++;
   }
    //处理小数部分
    if(!empty($decimal)){
        $number_temp = !empty($number_temp) ? $number_temp.".".$decimal : "0.".$decimal;
    }
    return $number_temp;
}
$result = numberFormat(1234567.5564);
print_r($result);
?>
//结果输出1,234,567.5564

更多php相关知识,请访问php教程!

以上就是php用逗号格式化数字的方法(代码示例)的详细内容,更多请关注其它相关文章!