计算结果进行四舍五入、保留2-3位小数位及向上取整的PHP方法

PHP 来源:用户投稿 收藏

在日常开发中我们经常会有些数值计算,我们可能需要对计算结果进行四舍五入、保留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
?>

免责声明:1.凡本站注明“来源:XXX(非小二胡工作室)”的作品,均转载自其它媒体,所载的文章、图片、音频视频文件等资料的版权归版权所有人所有,如有侵权,请联系xiaoerhu#88.com处理;2.凡本站转载内容仅代表作者本人观点,与小二胡工作室无关。
0 条评论

网友留言