我尝试将数字舍入为0.5
这是我的例子:
5.1 > 5
2.4 > 2.5
1 > 1
6.8 > 7
6.2 > 6.5
我尝试:
<?php
round((4.4 * 2) / 2)
?>
但是:
5.4 > 5
4.7 > 5
而不是
5.4 > 5.5
4.7 > 4.5
有什么想法吗?
答案 0 :(得分:2)
round(4.4*2)/2;
你只是混淆了订单。
您希望将原始数字乘以2的数字四舍五入,然后将其除以2。
我希望有所帮助。
答案 1 :(得分:2)
为什么不将值加倍,对整数进行舍入,然后除以2:
$res = round($value*2) / 2
这应该可以解决问题。
答案 2 :(得分:0)
Echo round(4.4 / 0.5)*.5;
你应该这样想:
您希望将数字除以所需的分数。 (0.5)。
然后你绕过那个数字,这意味着你删除了分数,然后再乘以你想要的分数再回到你所拥有但已经舍入的数字。
只要看看计算结果,让它沉入其中就可以了解它。
如果您想要始终向下舍入,请使用地板而不是圆形 如果你想要围捕,请使用ceil而不是round。
作为一个例子
Echo round(12 / 5)*5;
将舍入到最接近的5。