讲述php中四舍五入函数处理浮点数时经常要需要用的四舍五入函数。在php 中有两个函数适用于这种情况:floor函数、ceil函数和round函数
一、PHP round()函数 四舍五入
定义和用法
round() 函数对浮点数进行四舍五入。
语法 round(x,prec)
参数描述
x可选。规定要舍入的数字。
prec可选。规定小数点后的位数。
说明
返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
提示和注释
注释:PHP 默认不能正确处理类似 "12,300.2" 的字符串。
注释:prec 参数是在 PHP 4 中被引入的。。
PHP round()函数 四舍五入例子
<?php
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
?>
二、先来看floor函数
语法:
float floor ( float value )
说明:
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
floor() 例子 1
<?php
echo floor(1.6); // will output "1"
echo floor(-1.6); // will output "-2"
?>
floor() 例子 2
<?php
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
?>
三、ceil函数
语法:
float ceil ( float value )
说明:
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
ceil() 例子:
<?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;
当然,如果需要制定精度就需要使用round函数了。
四、intval—对变数转成整数型态
变量转成整数类型。
语法: int intval(mixed var, int [base])
返回值: 整数
函数种类: PHP 系统功能
内容说明
本函数可将变量转成整数类型。可省略的参数 base 是转换的基底,默认值为 10。转换的变量 var 可以为数组或类之外的任何类型变量。
例子intval()
<?php
echo intval(4.3); //4
echo intval(4.6); // 4
?>
注:intval如果是字符型的会自动转换为0 如
intval('abc')
输出结果 0
如果是
intval('5fd')
输出结果是
5
注:intval不能处理大于9位的数字