php用逗号格式化数字

本文阅读 1 分钟
首页 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('.',$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
解压密码: detechn或detechn.com

免责声明

本站所有资源出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。

本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户自行鉴别,做一个有主见和判断力的用户。

本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。

对php-cli环境的理解
« 上一篇 02-16
php实现获取数组中相同/不相同的元素
下一篇 » 02-16

发表评论

1 条回复
  1. 水冷眸游客

    额...博主可以百度一下number_format()这个函数