php用逗号格式化数字

本文阅读 1 分钟
首页 PHP笔记 正文

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

  1. <?php
  2. /****
  3. * @author Amos Wang
  4. * @param $number
  5. * @return mixed
  6. */
  7. function numberFormat($number)
  8. {
  9. if(!is_numeric($number)){
  10. return $number; // 只处理数字
  11. }
  12. list($integer,$decimal) = explode('.',$number);
  13. $number_temp = ""; // 临时计数
  14. $len = strlen($integer);
  15. $sublen = 3; // 每隔几位数加逗号
  16. //处理整数部分
  17. $i=1;
  18. while(true){
  19. $pos = $i * $sublen;
  20. $join = empty($number_temp) ? "" : ","; // 连接符
  21. $number_temp = substr($integer,(0-$pos),$sublen).$join.$number_temp;
  22. if(($pos + $sublen) > $len){
  23. $number_temp = substr($integer,0,($len - $pos)).$join.$number_temp;
  24. break;
  25. }
  26. $i++;
  27. }
  28. //处理小数部分
  29. if(!empty($decimal)){
  30. $number_temp = !empty($number_temp) ? $number_temp.".".$decimal : "0.".$decimal;
  31. }
  32. return $number_temp;
  33. }
  34. $result = numberFormat(1234567.5564);
  35. print_r($result);
  36. ?>
  37. //结果输出1,234,567.5564
解压密码: detechn或detechn.com

免责声明

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

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

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

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

发表评论

1 条回复
  1. 水冷眸游客

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

惪特博客
  • 文章总数:
    18496 篇
  • 评论总数:
    53287 条
  • 标签总数:
    8869 个
  • 总浏览量:
    22183460 次
  • 最后更新:
    3天前

最多点赞

随便看看

标签TAG