关键词搜索

源码搜索 ×
×

php 格式化金额(每三位加一逗号)

发布2020-10-13浏览1036次

详情内容

  1. /**
  2. * 格式化金额
  3. * @param $num 单位为分的钱数
  4. * @return array|bool|string
  5. */
  6. function money_format($num)
  7. {
  8. if (!is_numeric($num)) {
  9. return false;
  10. }
  11. $num = $num / 100;//转换成元
  12. $rvalue = number_format($num,2);
  13. $num = round($num, 2);
  14. $rvalue = '';
  15. $num = explode('.', $num);//把整数和小数分开
  16. $rl = !isset($num['1']) ? '' : $num['1'];//小数部分的值
  17. $j = strlen($num[0]) % 3;//整数有多少位
  18. $sl = substr($num[0], 0, $j);//前面不满三位的数取出来
  19. $sr = substr($num[0], $j);//后面的满三位的数取出来
  20. $i = 0;
  21. while ($i <= strlen($sr)) {
  22. $rvalue = $rvalue . ',' . substr($sr, $i, 3);//三位三位取出再合并,按逗号隔开
  23. $i = $i + 3;
  24. }
  25. $rvalue = $sl . $rvalue;
  26. $rvalue = substr($rvalue, 0, strlen($rvalue) - 1);//去掉最后一个逗号
  27. $rvalue = explode(',', $rvalue);//分解成数组
  28. if ($rvalue[0] == 0 && $num[0] != 0) {
  29. array_shift($rvalue);//如果第一个元素为0,删除第一个元素
  30. }
  31. $rv = $rvalue[0];//前面不满三位的数
  32. for ($i = 1; $i < count($rvalue); $i++) {
  33. $rv = $rv . ',' . $rvalue[$i];
  34. }
  35. if (!empty($rl)) {
  36. $rvalue = $rv . '.' . $rl;//小数不为空,整数和小数合并
  37. } else {
  38. $rvalue = $rv;//小数为空,只有整数
  39. }
  40. return $rvalue;
  41. }

 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载