保留一个数的小数点后两位

伟洪winni 2018-08-09 04:30:32
如果这个数的小数点后两位不为0, 则保留两位小数. 如果小数点后两位为0, 则保留小数位到不为0位置(其余位四舍五入)
例子:
$x = 0.10094 输出 10.09%
$x = 0.0001 输出 0.01%
$x = 0.00002 输出 0.002%
$x = 0.000003 输出 0.0003%
$x = 0.0000036 输出 0.0004%
请问上面的效果要怎么实现?(我只想到 除10 获取每个 位的数, 判断是否为零的方法 )
...全文
399 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-08-09
  • 打赏
  • 举报
回复
$a = [ 0.10094, 0.0001, 0.00002, 0.000003, 0.0000036];
foreach($a as $x) {
$fmt = sprintf("%%0.%df%%%%\n", -floor(log10($x)) - 2);
$d = -floor(log10($x)) - 2;
if($d<0) $d = 2;
printf("%.{$d}f%%\n", $x*100);
}
10.09%
0.01%
0.002%
0.0003%
0.0004%

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧