您的位置:首页 > 编程语言 > PHP开发

PHP取整函数ceil,floor,round,intval解析

2012-12-05 11:17 513 查看
  昨天听亨哥介绍了一个取整函数,今天打算把这几个函数都贴出来:

  PHP取整函数有ceil,floor,round,intval,下面讲讲它们之间的区别。

1、ceil — 进一法取整

说明

float ceil ( float $value )

返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

ceil() 例子

<?php

echo ceil(4.3);// 5

echo ceil(9.999);// 10

?>

2、floor — 舍去法取整

说明

float floor ( float $value )

返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

floor() 例子

<?php

echo floor(4.3);// 4

echo floor(9.999);// 9

?>

3、round — 对浮点数进行四舍五入

说明

float round ( float $val [, int $precision ] )

返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。

round() 例子

<?php

echo round(3.4);// 3

echo round(3.5);// 4

echo round(3.6);// 4

echo round(3.6,0);// 4

echo round(1.95583,2);// 1.96

echo round(1241757,-3);// 1242000

echo round(5.045,2);// 5.05

echo round(5.055,2);// 5.06

?>

Note: PHP 默认不能正确处理类似 “12,300.2″ 的字符串。

Note: precision 参数是在 PHP 4 中被引入的。

4、intval — 获取变量的整数值

说明

int intval ( mixed $var [, int $base ] )

通过使用特定的进制转换(默认是十进制),返回变量 var 的 integer 数值。

var 可以是任何标量类型。intval() 不能用于 array 或 object。

intval() 例子

<?php

echo intval(4.3);// 4

echo intval(9.999);// 9

?>

Note:

除非 var 参数是字符串,否则 intval() 的 base 参数不会有效果。

个人认为floor函数与intval函数功能相同,所不同之处是一个返回的浮点数(float),而另一个是整数(integer),因为 float 值的范围通常比 integer 要大。不过就数值本身来说两者是相等的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: