将 php 中的整数四舍五入到最近的上整数

Rounding integer in php to nearest upper integer

我有整数

$price = 19.999999995;

我希望 php 打印出类似于 $price 整数的任何整数到上限整数值“20”。

$total = ceil($price);

我希望上面的 $total 值为 20 ,但它是 return "21".

我该怎么做?以及为什么它是 returning 21 而不是 20 .

使用round()函数。

$price = 19.999999995;
$total = round($price);
echo $total;

如 PHP 文档中所述:

Note that 'ceil' can show unexpected behaviour when using float values due to inaccuracies in the float system and PHP tendency to freely limiting the number of digits it displays to the user.