PHP取整函数ceil,floor,round,intval解析
昨天听亨哥介绍了一个取整函数,今天打算把这几个函数都贴出来:
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 要大。不过就数值本身来说两者是相等的。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 当职场成战场:降职、阴谋与一场硬碰硬的抗争
· 用99元买的服务器搭一套CI/CD系统
· Excel百万数据如何快速导入?
· ShadowSql之.net sql拼写神器