php四舍五入函数大全 php四舍五入精确小数位及取整方法

发布时间:2020-04-04编辑:脚本学堂
几个常用的php四舍五入函数,包括ceil进一法取整、floor舍去法取整、round对浮点数进行四舍五入、intval对变数转成整数型态,并介绍了php四舍五入保留两位小数点最精确的方法。

php四舍五入取整函数:

进一法取整、四舍五入取整、忽略小数等的取整数方法大全

php取整数函数常用的四种方法,四个四舍五入函数;经常用到取整的函数,主要是:ceil,floor,round,intval。

一、ceil — 进一法取整
说明
float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

例1. ceil() 例子
 

复制代码 代码示例:
<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>

二、floor — 舍去法取整
说明
float floor ( float value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。

例子. floor() 函数四舍五入取整。

复制代码 代码示例:
<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
?>

三、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()函数四舍五入取整。

复制代码 代码示例:
<?php
echo intval(4.3); //4
echo intval(4.6); // 4
?>

附,PHP四舍五入精确小数位及取整

1、php保留三位小数并且四舍五入
 

$num=0.0215489;
echo sprintf("%.3f", $num); // 0.022

2、php保留三位小数不四舍五入
 

$num=0.0215489;
echo substr(sprintf("%.4f", $num),0,-1); // 0.021

3、php进一法取整数(这个在分页程序的页数程序里面会用到)
 

echo ceil(4.3);    // 5
echo ceil(9.999);  // 10

4、php舍去法取整数
 

echo floor(4.3);   // 4
echo floor(9.999); // 9

5、round函数进行四舍五入取整
  
例1. 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
?>

例2,php四舍五入保留两位小数点最精确的方法

复制代码 代码示例:
<?php
$number = 123213.066666;
echo sprintf("%.2f", $number);
?>
 

输出结果:
123213.07

PHP四舍五入、取整、round函数

小数例子:
PHP保留两位小数并且四舍五入
 

$n=0.1265489;
echo sprintf("%.2f", $n); // 0.13
 

用到了sprintf函数对$n进行了格式化%.2f是目标格式,其中2表示两位f表示float(浮点型) 第3为小数6被四舍五入

例子:
 

$n=0.1265489
echo substr(sprintf("%.3",$n),0,-1);// 0.12
 

代码输出了保留2为小数没有四舍五入,实际上我们了解了sprintf的特性会四舍五入小数后我们多保留了一位,然后用substr来截取前2位

取整例子:
 

echo ceil(4.1);    // 5
echo ceil(9.999);  // 10

ceil函数是向上取整函数,什么叫向上呢? 就是说如果超出一点点那就向前进一位如例子中4.1就变成了5。
跟它相反还有一个函数叫floor函数,看看它的用法。

例子:
 

echo floor(4.1);   // 4
echo floor(9.999); // 9
 

floor的特性在第二个输出中显的特别明显,那就是不给你多少位小数哪怕是无限接近10也没有用向下取到的整数就是9。

例子,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
?>
 

round函数在php手册中说明:
float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。
round 的参数一是数据源,参数二是要保留的小数位而且之后一位(比如你输入2那么第3为是之后一位)被四舍五入,当他是负数的时候,从数据源最后一位开始往前数相应的长度制0并将最后一位四舍五入比如round(123456,-2) 就是123456从6开始往前数两位都变成零,并且最后一位5(从后往前数第一位是6最后一位是5)被四舍五入,输出123500