价格的格式化 php,价格格式化问题。

首先感谢这个 CSDN 平台,帮助我们解决了很多难道,非常感谢!

现在我有一个价格格式化问题,求大家指点,谢谢。

例如 100000 自动格式化为 10万

56000 自动格式化为 5.6万

6000 就显示 6000

回复讨论(解决方案)

虽然有些难题还是解决不了,但也同样会感谢 CSDN 平台,非常感谢!

自己写一个方法如果是五位整数除以一万如果不是直接显示

header("Content-type: text/html; charset=utf-8");function removeAfterZero($str) { $s = $str; $r = ''; for ($i = strlen($s)-1; $i > 0; $i--) { if ($s[$i] == 0) { $s = substr($s, 0, $i); $r = $s; } else { break; } } return $r;}$num = 1000100;if (strlen(strlen($num) < 5)) echo $num;else if (strlen($num) >= 5 && strlen($num) < 6) { if (removeAfterZero(substr($num, 1, strlen($num)-1)) == 0) echo substr($num, 0, 1) . "万"; else echo substr($num, 0, 1) . '.' . removeAfterZero(substr($num, 1, strlen($num)-1)) . "万";}else if (strlen($num) >= 6 && strlen($num) < 7) { if (removeAfterZero(substr($num, 2, strlen($num)-2)) == 0) echo substr($num, 0, 2) . "万"; else echo substr($num, 0, 2) . '.' . removeAfterZero(substr($num, 2, strlen($num)-2)) . "万";}else if (strlen($num) >= 7 && strlen($num) < 8) { if (removeAfterZero(substr($num, 3, strlen($num)-3)) == 0) echo substr($num, 0, 3) . "万"; else echo substr($num, 0, 3) . '.' . removeAfterZero(substr($num, 3, strlen($num)-3)) . "万";}

$num = 100000;echo $num < 10000 ? $num : $num/10000 . '万';

$num = 100000;echo $num < 10000 ? $num : sprintf("%0.1f",$num/10000) . '万';

$num = 100000;echo $num < 10000 ? $num : $num/10000 . '万';

简短精炼,值得信赖

$num = 110000001;echo price_format($num);function price_format($num){$p=rtrim(number_format($num < 1e4 ? $num :$num<1e8? $num/1e4 : $num/1e8,2 ),'0'); return $num < 1e4 ? $num :$num<1e8? ($p . '万'): ($p . '亿');}

根据4L得来的

$num = 100000;echo $num < 10000 ? $num : $num/10000 . '万';

独自面壁去。。。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值