我知道ceil,它将在15.1到16和31.2到32之间。 但是如何围绕下一个x20号码呢?如15.1至20和31,2至40?
需要为图表的y轴制作有意义的标签。
答案 0 :(得分:3)
试试这个(适用于JavaScript):
$result = 20 * ceil($input / 20);
在这里,我们将四舍五入到20
。要舍入到其他数字,只需将20
替换为您想要的任何基数。可以找到ceil()
的文档here。
执行相同操作的功能:
function roundTo($value, $base)
{
return $base * ceil($value / $base);
}
如果您想将舍入到最近的基础,而不是将向上舍入,请使用round()
代替ceil()
答案 1 :(得分:2)
除以20并使用ceil,然后乘以20
答案 2 :(得分:2)
或者您可以使用模数:
echo round($a + 20 - ($a % 20));
答案 3 :(得分:2)
如果您希望“中档”值更圆,则可以使用the following。
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
的方式。
答案 4 :(得分:1)
你可以用这个
小区(X / 2)* 2