我目前正在划分两个值,以便从实际数量和申请总数中获得百分比。
我使用以下公式:
echo ($fakecount / $totalcount) * 100;
这给了我一个像79.2312313的价值。我会提高79%的价值。
我尝试了以下内容:
echo round($fakecount / $totalcount) * 100;
这似乎无法正常工作。
有什么建议吗?
答案 0 :(得分:8)
你需要在回合之前乘以100,而不是之后:
echo round($fakecount * 100 / $totalcount);
你正在计算$fakecount / $totalcount
,这是一个0到1之间的数字,然后你绕过它,所以你得到0或1,然后你乘以100,给你的百分比0或100。
答案 1 :(得分:6)
试,
echo (int)($fakecount * 100 / $totalcount + .5);
这是有效的,因为如果小数部分为>= .5
,或者
round ($fakecount * 100 / $totalcount);
请注意,我在除法之前将乘法乘以100以更好地保持精度。
答案 2 :(得分:1)
echo intval(($fakecount / $totalcount) * 100);
或者您可以使用
echo floor(($fakecount / $totalcount) * 100); //Round down
或者
echo ceil(($fakecount / $totalcount) * 100); // Round Up
答案 3 :(得分:0)
使用round()函数
echo round(($fakecount / $totalcount) * 100);
http://php.net/manual/en/function.round.php
您可以使用的其他人
答案 4 :(得分:0)
...都能跟得上
有很多方法可以做到。
$mypercent = ($fakecount / $totalcount) * 100;
请记住..这将首先运行(xxx)内部和* 100之后的内容。
在此之后...
echo round($mypercent);
如果你想要的话,你也可以使用很多规则......
<i>if ($value < 10) {
$value = floor($value);
} else {
$value = round($value);
}</i>
别忘了看到其他命令,也许你会需要它。
ceil() - 圆形分数
floor() - 向下分数
=)