$n = 0.1265489;
echo sprintf("%.2f", $n); // 0.13
sprintf("%.2f", $n) 格式化為保留 2 位小數,第 3 位自動四捨五入。
$n = 0.1265489;
echo substr(sprintf("%.3f", $n), 0, -1); // 0.12
多保留 1 位利用 sprintf 四捨五入特性,再用 substr 切掉最後一位。
echo ceil(4.1); // 5
echo ceil(9.999); // 10
只要有小數部分,直接進位到下一個整數。
echo floor(4.1); // 4
echo floor(9.999); // 9
直接捨棄小數部分,無論多接近下一整數。
float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] )
$val:待處理數值$precision:保留小數位數(可為負數,表示十位、百位...)$mode:PHP_ROUND_HALF_UP(預設)、PHP_ROUND_HALF_DOWN、PHP_ROUND_HALF_EVEN、PHP_ROUND_HALF_ODD| 程式碼 | 結果 | 說明 |
|---|---|---|
round(3.4) | 3 | 預設精度 0,四捨五入 |
round(3.5) | 4 | .5 向上 |
round(3.6) | 4 | |
round(3.6, 0) | 4 | 明確指定精度 0 |
round(1.95583, 2) | 1.96 | 保留 2 位,第 3 位 5 向上 |
round(1241757, -3) | 1242000 | 負精度:從個位往左數 3 位歸零,千位 5 向上進萬位 |
round(5.045, 2) | 5.05 | |
round(5.055, 2) | 5.06 |
round(123456, -2) → 123500(百位四捨五入)
round(123456, -3) → 123000(千位四捨五入)
常用於金額萬單位顯示、統計報表捨入。