Floor和Round有什么区别

ha_*_*ryu 1 php rounding floor

         CODE                            RESULTS

$a = floor(3.5);                         //3
$b = round(3.5, 0, PHP_ROUND_HALF_DOWN); //3
var_dump($a);                            //float(3)
var_dump($b);                            //float(3)
$c = gettype($a);                        //double
$d = gettype($b);                        //double
Run Code Online (Sandbox Code Playgroud)

有什么区别?何时对以上数字使用floor()或round()?

Jus*_*nas 5

floor() 只会删除十进制值,仅返回整数。

所以floor(1.2) => 1和floor(1.9) => 1。

同时round()将舍入具有十进制值的数字小于0.5较低的int,而大于大于0.5较高的int:

所以round(1.2) => 1但是round(1.9) => 2

还round()具有更多选项,例如精度和舍入选项。