我有這樣一個值:如何在PHP中取得價值?
$value = 2.3333333333;
,我想這個值向上舍入到這樣的:
$value = 2.35;
我已經嘗試過一輪,小區和等,但結果不是我預期。
請任何人幫忙。
感謝
我有這樣一個值:如何在PHP中取得價值?
$value = 2.3333333333;
,我想這個值向上舍入到這樣的:
$value = 2.35;
我已經嘗試過一輪,小區和等,但結果不是我預期。
請任何人幫忙。
感謝
考慮您的問題從字面上看,這將做到這一點:
$value = (round($original_value/0.05, 0)) * 0.05
即會舍入到最近的0.05。
如果由於某種原因,你想總是圍捕到0.05,使用
$value = (round(($original_value + 0.025)/0.05, 0)) * 0.05
這項工作很好,但你可以使它可用於此範圍2.11111111111111高達2.15 2.222222222222222高達2.25,謝謝 –
@Rio愛德華多,你也說「總是高達0.05」 ? – Bathsheba
是的:)但不是2.6666666等只有範圍2.111111直到2.444444 –
嘗試:
$value = 2.3333333333;
echo number_format($value, 2);
仍然相同的結果 - > 2.33 –
你有3個可能性:ROUND(),地板(),小區()
爲你:
$step = 2; // number of step 3th digit
$nbr = round(2.333333333 * $step, 1)/$step; // 2.35
$step = 4; // number of step on 3th digit
$nbr = round(2.333333333 * $step, 1)/$step; // 2.325
<?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.05
echo round(5.055, 2); // 5.06
?>
<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>
<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo ceil(-3.14); // -3
?>
我可能會問你爲什麼WOU ld想把它湊到2.35?什麼是標準?最近0.05? – Bathsheba
嘗試round()和測試 – 2013-07-10 07:06:14
@AlexGittemeier - 不,它不起作用,它返回2.33 –