php 除不尽怎么办
php除不尽的解决办法:1、通过round函数对浮点数进行四舍五入;2、通过ceil方法实现进一法取整;3、通过floor函数实现舍去法取整即可。
本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。
php 除法取整
如果我们使用" / "操作符进行除法运算时,如果遇到无法除尽的情况,会得到小数值。如果我只希望得到整数部分,怎么办呢?
1.round — 对浮点数进行四舍五入
float round ( float $val [, int $precision ] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。
//Example #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 ?>
Note: PHP 默认不能正确处理类似 "12,300.2" 的字符串。见字符串转换为数值。
推荐:《PHP视频教程》
2.ceil — 进一法取整(向上取整)
float ceil ( float $value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是float,因为float 值的范围通常比integer 要大。
//Example #1 ceil() 例子 <?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 ?>
3.floor — 舍去法取整(向下取整)
float floor ( float $value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是float,因为float 值的范围通常比integer 要大。
//Example #1 floor() 例子 <?php echo floor(4.3); // 4 echo floor(9.999); // 9 ?>