dryu999 发表于 2017-12-31 07:23:08

php中除法取整的方法(round,ceil,floor)

  PHP中遇到需要将除法所得结果取整的情况时,就需要用到以下方法:
  1. round:四舍五入
  round() 函数对浮点数进行四舍五入。
  语法:round(x, prec)

参数
描述
x
可选。规定要舍入的数字。
prec
可选。规定小数点后的位数。  说明:返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
  提示:PHP 默认不能正确处理类似 "12,300.2" 的字符串。
  例:
  

1 <?php  

2 echo(round(0.60));  

3 echo(round(0.50));  

4 echo(round(0.49));  

5 echo(round(-4.40));  

6 echo(round(-4.60));  

7 ?>  

  输出:
  

1 1  
2 1
  
3 0
  
4 -4
  
5 -5
  

  2. ceil:向上取整
  ceil() 函数向上舍入为最接近的整数。
  语法:ceil(x)

参数
描述
x
必须。规定要舍入的数字。  说明:返回不小于 x 的下一个整数,x 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
  例:
  

1 <?php  

2 echo(ceil(0.60);  

3 echo(ceil(0.40);  

4 echo(ceil(5);  

5 echo(ceil(5.1);  

6 echo(ceil(-5.1);  

7 echo(ceil(-5.9));  

8 ?>  

  输出:
  

1 1  
2 1
  
3 5
  
4 6
  
5 -5
  
6 -5
  

  3. floor:向下取整
  floor() 函数向下舍入为最接近的整数。
  语法:floor(x)

参数
描述
x
必须。规定要舍入的数字。  说明:返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
  例:
  

1 <?php  

2 echo(floor(0.60));  

3 echo(floor(0.40));  

4 echo(floor(5));  

5 echo(floor(5.1));  

6 echo(floor(-5.1));  

7 echo(floor(-5.9))  

8 ?>  

  输出:
  

1 0  
2 0
  
3 5
  
4 5
  
5 -6
  
6 -6
  
页: [1]
查看完整版本: php中除法取整的方法(round,ceil,floor)