当前位置:编程学习 > php >>

三个php取两位小数,也就是小数点后取两位的常用方法

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函数

PHP_保留两位小数并且四舍五入_保留两位小数并且不四舍五入


php保留两位小数并且四舍五入
Php代码 
$num = 123213.666666; 
echo sprintf("%.2f", $num); 

 

php保留两位小数并且不四舍五入
Php代码 
$num = 123213.666666; 
echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2)); 


php进一法取整
Php代码 
echo ceil(4.3);    // 5 
echo ceil(9.999);  // 10 


php舍去法,取整数
Php代码 
echo floor(4.3);   // 4 
echo floor(9.999); // 9 

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,