我知道将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=1
和1.5=2
。
你可以使用
装天花板(x/2) * 2