我如何围绕4.3到4.5

时间:2011-12-03 03:08:59

标签: php

给定一个小数点后1位的值,如何将该小数位数向上舍入半步?

如果我的值为4.3,请问如何将PHP中的值转换为4.5

其他例子如下:

3.8 >> 4.0
2.1 >> 2.5
0.9 >> 1.0

另外我应该提一下,我正在运行PHP版本5.2.17

谢谢!

4 个答案:

答案 0 :(得分:7)

这样的事情怎么样?

<?php
    $value=10000.1;
    echo ceil($value*2)/2 . "\n";
?>

答案 1 :(得分:0)

您可以使用ceil()功能。

ceil($num * 2) / 2

答案 2 :(得分:0)

您可以使用round()功能。

一个例子是:

<?php echo round(8.5, 0, PHP_ROUND_HALF_UP); ?> // result 9

答案 3 :(得分:0)

无法测试atm,但如果其他答案不起作用,则应该舍入到最接近的.5

function toNearestHalf($float) {
    $int = (int) $float;
    $half = $int + 0.5;

    return $float < $half ? $half : ($int + 1);
}