PHP的取整函数有四个,分别是ceil、floor、round和intval,下面对它们进行一一介绍:

1. ceil(x):向上舍入为最接近的整数。

返回不小于 x 的下一个整数,x 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,

因为 float 值的范围通常比 integer 要大。

示例:

echo(ceil(0.60));    输出为1

echo(ceil(0.40));    输出为1

echo(ceil(5));       输出为5

echo(ceil(5.1));     输出为6

echo(ceil(-5.1));      输出为-5

echo(ceil(-5.9));      输出为-5

2. floor(x):向下舍入为最接近的整数。

返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,

因为 float 值的范围通常比 integer 要大。

示例:

echo(floor(0.60));    输出为0

echo(floor(0.40));    输出为0

echo(floor(5));       输出为5

echo(floor(5.1));     输出为5

echo(floor(-5.1));      输出为-6

echo(floor(-5.9));      输出为-6

3. round(x,prec):对浮点数进行四舍五入。

返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec

也可以是负数或零(默认值)。

示例:(特别注意红色部分)

echo(round(0.60));   输出为1

echo(round(0.50));   输出为1

echo(round(0.49));   输出为0

echo(round(-4.40));  输出为-4

echo(round(-4.60));  输出为-5

echo(round(52.3456,-2));  输出为100

echo(round(49.3456,-2));  输出为0

4. int intval ( mixed $var [, int $base = 10 ] ):获取变量的整数值。

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

echo(intval (0.60));   输出为0

echo(intval (0.50));   输出为0

echo(intval (0.49));   输出为0

echo(intval (-4.40));  输出为-4

echo(intval (-4.60));  输出为-4

总结:

对于一个浮点数,ceil()函数采取进一法取整,只要小数点后的值不为0,都会进一,从而取得比原数大的最小整数,但类型还是float。floor()函数采取舍去法取整,不管小数点后是什么都舍去,从而取得一个比原数小的最大整数,但类型还是float。round()函数采取的则是四舍五入法则,具体数值由保留的小数位和相应位的数字大小决定。intval()函数则是单纯地取得浮点数的整数部分,类型为integer。

注意:

有些人认为floor()函数和intval()函数功能是相同的,其实不然。首先,得到的数值类型就不同,floor返回的是float类型,intval返回的是integer类型。其次,当浮点数为正数时,这两个函数得到的数值是一样的,但是当浮点数为负数时得到的数值就不同了,例如:floor(-1.99)返回的是-2,而intval(-1.99)返回的却是-1.

所以,这四个函数虽然都是PHP中的取整函数,但功能却是各不相同的,使用时应该根据自己的实际需要进行选择。

最新文章

  1. SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-002-本章的源代码
  2. USACO 2014 Open Silver Fairphoto
  3. springMVC的详细步骤配置
  4. 求正整数n所有可能的和式的组合(如;4=1+1+1+1、1+1+2、1+3、2+1+1、2+2
  5. python 学习笔记整理
  6. 用Set中元素做条件查询
  7. php中的一些编程例子
  8. BZOJ 1189: [HNOI2007]紧急疏散evacuate( BFS + 二分答案 + 匈牙利 )
  9. GLSL中的各种变量总结
  10. amazeui tab 监听当前选项
  11. tensorflow l2_normalize函数
  12. OJ随笔——【1102-海明距离】——位运算
  13. 【转载】ASP.NET Core Web 支付功能接入 微信-扫码支付篇
  14. 解决python发送multipart/form-data请求上传文件的问题
  15. 使用AShot进行网页全页截图
  16. introduce myself
  17. xml实现登录表单验证
  18. 将本地光盘做成yum源
  19. linux 删除换行符
  20. file相关方法

热门文章

  1. HttpServletRequest获取URL、URI
  2. Mybatis学习(二)常用对象SqlSessionFactory和SqlSession
  3. 02-windows 安装以太坊 ethereum 客户端 (win7-64)-大叔思维
  4. struts2前后台交互
  5. 关于ios::sync_with_stdio(false)
  6. 绘制QQ圆形图像
  7. 阿里云服务器解决mysql远程连接失败问题
  8. 【转】css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?
  9. Java并发/多线程系列——初识篇
  10. 网时|ipone8爆冷,我的服务器空欢喜一场