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.'%';
$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
?>
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()函數的用法分析中的介紹。
