php用逗號格式化數位的方法(程式碼範例)

2020-07-16 10:06:12

今日工作需要格式化數位顯示當前商品價格,比如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('.',$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用逗號格式化數位的方法(程式碼範例)的詳細內容,更多請關注TW511.COM其它相關文章!