私はceilを知っています。これは15.1から16と31.2から32を丸めます。 しかし次のx20の数値に切り上げるには? 15.1から20と31,2から40のように?PHPで次のx20の数値に切り上げる方法は?
グラフのY軸に対して意味のあるラベルを作成する必要があります。 20によって
私はceilを知っています。これは15.1から16と31.2から32を丸めます。 しかし次のx20の数値に切り上げるには? 15.1から20と31,2から40のように?PHPで次のx20の数値に切り上げる方法は?
グラフのY軸に対して意味のあるラベルを作成する必要があります。 20によって
デバイドと20
を掛け、その後、切り上げを使用するには、(JavaScriptで動作します)、これを試してみてください:
ここ$result = 20 * ceil($input/20);
を、我々は20
に丸めます。他の数字に丸めるには、20
を任意のベースに置き換えます。 ceil()
のドキュメントはhereです。
同じことを機能:脇の小さなとして
function roundTo($value, $base)
{
return $base * ceil($value/$base);
}
、あなたは、代わりにアップを丸めるの、最寄りベースにを丸めるround()
を使用する代わりにceil()
したい場合。
'9 = 0'と' 15 = 20'(小数点のような丸みの間の値)が必要でない限り、素晴らしい解決策です。上記の式は '0 = 20'と' 1-20 = 20'と '21 = 40'を作成します。 –
あなたはこの
切り上げを使用することができます(X/2)* 2
それとも、使用することができます率:
echo round($a + 20 - ($a % 20));
$ aはこの式で既に天井に置かれている必要があります。 –
@samura '$ a = 19.9'の場合、結果は21になります。 – Fluff
あなたは、 "ミッドレンジ" の値が必要な場合さらに丸めるには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
をシミュレートします。
#C0FFEE!ありがとうございました! – iceteea