私はそれが理にかなっている場合最もコンパクトでエレガントで効率的な方法は、JavaScriptで最も近い5に丸めますか?
NearestFive(3) --> 5
NearestFive(5) --> 0
NearestFive(6) --> 5
を行う機能が欲しいです。私が思い付くことができる最高は
function NearestFive (x)
{
var r = x % 5;
if (r == 0) return x;
else if (r > 2) return x + 5 - r;
else return x - r;
}
ですが、それは、効率を追加するためにこれらのステップを統合またはビットシフト演算を導入することが可能だ場合、私は思ったんだけど?例えば
r > 2
はr == 0
を意味するので、2つの比較
r == 0
r > 2
を実行することは必要ではないかもしれません。
検索しましたか?[この回答](http://stackoverflow.com/questions/18953384/javascript-round-up-to-next-multiple-of-5)と[この回答](http://stackoverflow.com/questions/10535817/javascript-round-up-and-down-to-the-nearest-5-then-find-a-common-denominator)と異なるこれを行う方法は、確かにそれらのいくつかは十分に効率的でなければなりませんか? – adeneo
あなたのサンプルコードに示されている整数だけ? – Roberto
'return((x + 2)/ 5)* 5;' – user3386109