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