PHP 如何向下舍入到小数点后两位?

2022-08-30 09:59:40

我需要将PHP中的小数点向下舍入到两个小数位,以便:

49.955

成为。。。

49.95

我尝试过number_format,但这只是将值四舍五入到49.96。我不能使用substr,因为数字可能更小(例如7.950)。到目前为止,我一直无法找到这个问题的答案。

任何帮助都非常感谢。


答案 1

这可以工作:floor($number * 100) / 100


答案 2

这是一个不错的函数,可以在不使用字符串函数的情况下完成该操作:

<?php
function floorp($val, $precision)
{
    $mult = pow(10, $precision); // Can be cached in lookup table        
    return floor($val * $mult) / $mult;
}

print floorp(49.955, 2);
?>

另一种选择是在四舍五入之前减去分数:

function floorp($val, $precision)
{
    $half = 0.5 / pow(10, $precision); // Can be cached in a lookup table
    return round($val - $half, $precision);
}

推荐