php四舍五入函数round和ceil用法区别介绍
round函数round() 函数对浮点数进行四舍五入 语法: float round ( float val [,int precision] ) 返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。 实例: /*by http://www.manongjc.com */ $number = round(11.1); // 11 $number = round(11.9); // 12 $number = round(11.5); // 12 $number = round(11); // 11 $a = round(4.4999); // 4 $b = round(4.123456,3); // 4.123 $c = round(4.12345,4); // 4.1235 $d = round(1000 / 160); // 6 ?> round()函数进位问题 今天写程序时发现PHP四舍五入函数round没有把0.5进位,查了下资料发现如下解释: 在对正好一半的分数进行舍入时round()在偶数次舍去,在奇数次进位。如果你想迫使它对.5(或.05)总向一个方向舍入,加上或减去一个很小的因子。对一半值舍去对另一半值进一的背后原因是避免传统的银行问题,即如果总是舍去则银行从顾客那里多拿了钱,如果总是进一则银行最终会损失了钱。对此平均舍入则在统计上达到了平衡。 如需强制进位的解决方案 functionstdround($num,$d=0){ returnround($num+0.0001/pow(10,$d),$d); } ceil函数ceil() 函数向上舍入为最接近的整数。 语法: ceil(x); 返回不小于 x 的下一个整数,x 如果有小数部分则进一位。 ceil() 返回的类型仍然是 float。 实例: /*by http://www.manongjc.com/article/1532.html */ $number = ceil(11.9); // 12 $number = ceil(11.1); // 12 $number = ceil(11); // 11 ?> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |