PHP 如何向下舍入到小数点后两位?
2022-08-30 09:59:40
我需要将PHP中的小数点向下舍入到两个小数位,以便:
49.955
成为。。。
49.95
我尝试过number_format,但这只是将值四舍五入到49.96。我不能使用substr,因为数字可能更小(例如7.950)。到目前为止,我一直无法找到这个问题的答案。
任何帮助都非常感谢。
我需要将PHP中的小数点向下舍入到两个小数位,以便:
49.955
成为。。。
49.95
我尝试过number_format,但这只是将值四舍五入到49.96。我不能使用substr,因为数字可能更小(例如7.950)。到目前为止,我一直无法找到这个问题的答案。
任何帮助都非常感谢。
这可以工作:floor($number * 100) / 100
这是一个不错的函数,可以在不使用字符串函数的情况下完成该操作:
<?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);
}