php小数点后取两位/多位的方法。
方法一、经常用到小数点后取几位,但不能进位的情况。
比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。
可以使用函数floor。
该函数是舍去取整。例如,floor(4.66456) 结果:4 。
floor(9.1254) 结果9 。
因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:
$a=floor(3.149569*100)/100
计算百分数:
$successRate = floor((2/3'])*10000)/10000*100; $result = $successRate.'%';
输出结果:
66.67%
方法二、round函数
说明
float round ( float val [, int precision])
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。
precision 也可以是负数或零(默认值)。
例子:
<?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.04 echo round(5.055, 2); // 5.06 ?>
注意:
在对正好一半的分数进行舍入时 round() 在偶数次舍去,在奇数次进位。
如果想迫使它对 .5(或 .05)总向一个方向舍入,加上或减去一个很小的因子。
对一半值舍去对另一半值进一的背后原因是避免传统的银行问题,即如果总是舍去则银行从顾客那里多拿了钱,如果总是进一则银行最终会损失了钱。
对此平均舍入则在统计上达到了平衡。
三、sprintf函数
最后一种是使用sprintf函数,请参考文章:php中sprintf()函数的用法介绍。