PHP的取整函数
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中的取整函数,但功能却是各不相同的,使用时应该根据自己的实际需要进行选择。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)