将数字舍入为0.5

时间:2017-12-15 14:13:10

标签: php

我尝试将数字舍入为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

有什么想法吗?

3 个答案:

答案 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。