如何在PHP中累积价值?

Rio*_*rdo 3 php roundup

我有一个像这样的值:

$value = 2.3333333333;
Run Code Online (Sandbox Code Playgroud)

我想将此值取整为:

$value = 2.35;
Run Code Online (Sandbox Code Playgroud)

我已经尝试过回合,ceil等,但是结果不是我期望的。

请任何人帮助。

谢谢

Alb*_*ban 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
Run Code Online (Sandbox Code Playgroud)

圆形的

<?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
?>
Run Code Online (Sandbox Code Playgroud)

地面

<?php
echo floor(4.3);   // 4
echo floor(9.999); // 9
echo floor(-3.14); // -4
?>
Run Code Online (Sandbox Code Playgroud)

细胞

<?php
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10
echo ceil(-3.14);  // -3
?>
Run Code Online (Sandbox Code Playgroud)


Bat*_*eba 5

从字面上考虑您的问题,这可以做到:

$value = (round($original_value / 0.05, 0)) * 0.05
Run Code Online (Sandbox Code Playgroud)

即将舍入到最接近的 0.05。

如果出于某种原因您希望始终舍入为0.05,请使用

$value = (round(($original_value + 0.025) / 0.05, 0)) * 0.05
Run Code Online (Sandbox Code Playgroud)