如何四舍五入到下一个x20的数字与php


how to round up to the next x20 number with php?

我知道将15.1四舍五入到16和31.2四舍五入到32。但是如何四舍五入到下一个x20呢?比如15.1到20 31 2到40?

需要为图表的y轴制作有意义的标签。

试试这个(在JavaScript中有效):

$result = 20 * ceil($input / 20);

这里,我们四舍五入到20。要四舍五入到其他数字,只需将20替换为您想要的任何基数。ceil()的文档可以在这里找到。

执行相同操作的函数:

function roundTo($value, $base)
{
    return $base * ceil($value / $base);
}

作为一个小旁白,如果您想将四舍五入到最接近的基数,而不是将四舍五入,请使用round()而不是ceil()

除以20并使用ceil,然后乘以20

或者你可以使用模数:

echo round($a + 20 - ($a % 20));

如果你想让"mid-range"的值四舍五入,你可以使用下面的命令:

function roundTo($n,$i = 1){
  $r = $n % $i;
  $d = round(($n - $r * $i) / $i);
  return $r * $i + $d * $i;
}
for ($a = 0; $a < 100; $a++){
  printf("%d = %d'r'n", $a, ceil2($a, 20));
}

以上产生:

Number:    Rounded To:
0-10       0
11-30      20
31-50      40
etc.

这更接近地模拟了1.3=11.5=2

你可以使用

装天花板(x/2) * 2