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中的取整函数,但功能却是各不相同的,使用时应该根据自己的实际需要进行选择。
PHP的取整函数的更多相关文章
- C# 取整函数
向上取整math.ceiling(1) = 1math.ceiling(1.1) = 2math.ceiling(1.5) = 2向下取整math.float(1) = 1math.float(1.1 ...
- php取整函数ceil,floor,round,intval函数的区别
开发过程中,遇到数据处理取整的时候,你会用哪个呢,小涛来介绍一下:PHP取整函数有ceil,floor,round,intval,下面详细介绍一下: 1.ceil — 进一法取整说明float cei ...
- PHP取整函数:ceil,floor,round,intval的区别详细解析
floor -- 舍去法取整说明float floor ( float value ) 返回不大于 value 的下一个整数,将 value 的小数部分舍去取整.floor() 返回的类型仍然是 fl ...
- MATLAB中取整函数(fix, floor, ceil, round)的使用
MATLAB取整函数 1)fix(x) : 截尾取整. >> fix( [3.12 -3.12]) ans = 3 -3(2)floor(x):不超过x 的最大整数.(高斯取整) & ...
- delphi的取整函数round、trunc、ceil和floor
delphi的取整函数round.trunc.ceil和floor 首先引入math单元 uses math; 1.Round(四舍六入五留双) 功能说明:对一个实数进行四舍五入.(按照银行家算法) ...
- paper 68 :MATLAB中取整函数(fix, floor, ceil, round)的使用
MATLAB取整函数 1)fix(x) : 截尾取整. >> fix( [3.12 -3.12]) ans = 3 -3 (2)floor(x):不超过x 的最大整数.(高 ...
- php取整函数floor(),round(),intval(),ceil()
ceil -- 进一法取整说明float ceil ( float value )返回不小于 value 的下一个整数,value 如果有小数部分则进一位.ceil() 返回的类型仍然是 float, ...
- asp中的几个取整函数fix(),int(),round()的用法
asp中的几个取整函数是:fix(),int(),round(); Int(number).Fix(number)函数返回数字的整数部分.number 参数可以是任意有效的数值表达式.如果 numbe ...
- [转]PHP取整函数:ceil,floor,round,intval的区别详细解析
我们经常用到的PHP取整函数,主要是:ceil,floor,round,intval. 1.ceil -- 进一法取整 说明float ceil ( float value ) 返回不小于 value ...
- sql取整函数
SQL取整运算2009年04一个月02日本 星期四 10:01有使用说明这种方法记录,就在今天,那么当仍然被遗忘.事实上通常用四舍五入的操作有几种情况,一个是简单的四舍五入,无论是小数点后面的是什么都 ...
随机推荐
- Java+大数据开发——HDFS详解
1. HDFS 介绍 • 什么是HDFS 首先,它是一个文件系统,用于存储文件,通过统一的命名空间--目录树来定位文件. 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角 ...
- JDBC操作数据库之修改数据
使用JDBC修改数据库中的数据,起操作方法是和添加数据差不多的,只不过在修改数据的时候还要用到UPDATE语句来实现的,例如:把图书信息id为1的图书数量改为100,其sql语句是:update bo ...
- 个人理解---在开发中何时加入日志记录功能[java]
是这样的:俩个月前做的一个小功能,今天经理突然问我这个'清除复投记录'功能是不是我做的,我说是,很久以前了.他说昨天一个客户找过来了,后台把人家的复投记录清除掉了,不知道何时清除的,我记得当时做的时候 ...
- BZOJ2431_逆序对数列_KEY
转自YXDs 题目传送门 不知道今天是怎么了,可能是空调吹多了吧,一直不在状态,连递推题我都做不来了--(扎Zn了老Fe--) 然而,不管环境如何恶劣,我们仍要努力学习,为了自己的明天而奋斗.(说的好 ...
- HiWord()
#define HIWORD(I) ( ( WORD ) ( ( ( DWORD )( I ) >> 16) & 0xFFFF ) ). 这个宏传回一个WORD值(16位的无符号整 ...
- SpringBoot文档翻译系列——26.日志logging
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7613854.html 这是SpringBoot的日志内容 26 日志 Spring使用Co ...
- 支持向量机(Support Vector Machine)-----SVM之SMO算法(转)
此文转自两篇博文 有修改 序列最小优化算法(英语:Sequential minimal optimization, SMO)是一种用于解决支持向量机训练过程中所产生优化问题的算法.SMO由微软研究院的 ...
- java关于随机数和方法重构
1.生成随机数 源代码 package Zuote; public class SuiJiShu { public static void main( String args[] ) { java.u ...
- FPGA与PCI-E
从并行到串行: PCI Express(又称PCIe)是一种高性能.高带宽串行通讯互连标准,取代了基于总线的通信架构,如:PCI.PCI Extended (PCI-X) 以及加速图形端口(AGP). ...
- 合并Spark社区代码的正确姿势
原创文章,转载请保留出处 最近刚刚忙完Spark 2.2.0的性能测试及Bug修复,社区又要发布2.1.2了,国庆期间刚好有空,过了一遍2.1.2的相关JIRA,发现有不少重要修复2.2.0也能用上, ...