php四舍五入、精确2-3位小数位及向上取整的方法
php内置的round(),intval(),ceil(),floor()函数,可以为我们在数值计算中进行四舍五入、向上取整、向下取整,精确取小数位提供帮助
在日常开发中我们经常会有些数值计算,我们可能需要对计算结果进行四舍五入、保留2,3位小数位,向上取整,向下取整等操作。
在php里也给我们提供了四个常用的数值计算的函数供我们使用。
round()
四舍五入取整
intval()
舍弃小数位,直接保留整数部分
ceil()
向上取整,有小数就加1
floor()
向下取整
一、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
?>
二、intval—对变数转成整数型态,intval如果是字符型的会自动转换为0。
语法: int = intval(mixed var, int [base])
intval(3.14159); // 3
intval(3.64159); // 3
intval('ruesin'); //0
三、ceil函数,这个方法,在我们写分页类计算页数时经常会用到。
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大
语法:float = ceil ( float value )
<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo ceil(-3.14); // -3
?>
常见的页码计算:
$lastpg = ceil($totle/$displaypg); //最后页,也是总页数,用ceil就方便多了。
$lastpg = $lastpg ? $lastpg : 1; //没有显示条目,置最后页为1
$page = min($lastpg,$page);
$prepg = $page-1; //上一页
$nextpg = ($page==$lastpg ? 0 : $page+1); //下一页
$firstcount = ($page-1)*$displaypg;
四、floor函数,floor函数和ceil函数互相搭配起来可以使php 处理的数据更加真实可靠。
语法:float = floor ( float value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
<?php
echo floor(1.6); // 1
echo floor(-1.6); // -2
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
?>
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论