当前位置:首页 > 专题管理

PHP 取整函数 ceil 与 floor

PHP ceil()

ceil() 函数:进一法取整,即取得比当前数大的下一位整数。

语法:

float ceil ( float value )

提示

ceil() 返回的类型仍然是浮点型(float)而不是想象当中的整型(integer),因为 float 值的范围通常比 integer 要大。

例子:

<?php
echo ceil(4.3);		// 输出:5
echo ceil(-4.3);	// 输出:-4
?>

PHP floor()

floor() 函数:舍去法取整,即取得比当前数小的最大整数。

语法:

float floor ( float value )

提示

同 ceil() 一样,floor() 返回的类型仍然是浮点型(float)而不是整型(integer)。

例子:

<?php
echo floor(4.3);  	// 输出:4
echo floor(-4.3);	// 输出:-5
?>

实际上 ceil 来自英文当中的 ceiling(天花板),而 floor 则是地板的意思。

注意

在对某些浮点计算结果进行 ceil 或 floor 时,会出现异于常识的错误,如:

<?php
echo ceil(2.1/0.7);  // 输出:4
?>

在该例中,ceil 后的结果不是通常我们认为的 3 而是 4 ,出现这种情况的原因及解决办法参见:《PHP 浮点数计算比较及取整不准确的解决方法》。