如何将PHP数值四舍五入到小数点后三位?

How to round PHP numeral value with 3 decimal?

$val = 95454545.455

如何舍入 $val 使结果为 95454546

因为仅使用 round() return 95454545

编辑

ceil() 几乎是正确的,但是如果 $val = 95454545.444,我希望函数 return 到 95454545

此致, 埃尔默

改为使用 ceil(),它将舍入到下一个大值,

echo ceil($val);

更新

您可以使用 round() 和 HALF UP 标志实现更高的精度,

echo round(95454545.544, 0, PHP_ROUND_HALF_UP); //95454546

echo round(95454545.44, 0, PHP_ROUND_HALF_UP); //95454545

试试这个 ceil — 向上舍入分数,Returns 下一个最高整数值,必要时向上舍入值。

<?php
$val = 95454545.455;
$result = ceil($val);
echo 'Result '.$result;
?>

试试这个 number_format 它会四舍五入小数

<?php
$val = 95454545.455;
$result = number_format($val , 3, '.', ',');
echo 'Result '.$result;
<?

我想,我找到了解决这类问题的公式。 例如:

$var = 95454545.454

我只需要在其中添加 0.055 值。

$new_var = $var + 0.055 -> $new_var = 95454545.509

$result = round($new_var) -> $result = 95454546