5

私はこのような値を持っています:

$value = 2.3333333333;

この値を次のように切り上げます。

$value = 2.35;

私はすでにラウンド、セイルなどを試しましたが、結果は私が期待したものではありません.

誰か助けてください。

ありがとう

4

5 に答える 5

9

あなたの質問を文字通りに取ると、これはそれを行います:

$value = (round($original_value / 0.05, 0)) * 0.05

つまり、最も近い0.05 に丸められます。

何らかの理由で、常に0.05 に切り上げたい場合は、

$value = (round(($original_value + 0.025) / 0.05, 0)) * 0.05
于 2013-07-10T07:08:14.167 に答える
9

3 つの可能性があります: round()、floor()、ceil()

あなたのために :

$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
?>
于 2013-07-10T07:09:55.283 に答える
-1

次のコードを使用できます。

$value = 2.3333333333;
$value = round ( $value, 2, PHP_ROUND_HALF_UP);

最高のドキュメントはここにあります

于 2015-07-20T09:42:24.673 に答える
-1

試す:

$value = 2.3333333333;
echo number_format($value, 2);
于 2013-07-10T07:06:53.413 に答える