2012-02-14 8 views
12

Xの次の最も近い倍数までの変数:ラウンド私は、次のJSを持っていた場合、私は、したがって、たとえば250の次の最も近い倍数に数値を切り上げする方法を探しています

var containerHeight = $("#container").height(); 

... "containerHeight"の値が680pxだったとすると、750pxに切り上げる方法が必要です(値が1007の場合は1250に丸めます)。私は、これには私が予想しているよりも複雑な解決策が必要だと思う。あるいは、おそらくjQueryにはこれを実現可能にする組み込み関数がありますか?

私はこれが(それがjQueryの質問であるよりも、数学の問題の詳細ですが、私のjQueryの構文の知識も少し限られていると仮定:)

ヘルプの任意のアイデア/ビットは大幅に、 感謝を高く評価しています!

+0

可能な二重に彼女を得た([JavaScriptで20(またはX)のステップで丸め?] http://stackoverflow.com/questions/14627566/rounding-in-steps-of-20-or-x-in-javascript) – leo

答えて

21
containerHeight = Math.ceil(containerHeight/250.0) * 250; 
+0

ありがとう、James!それは最高です。 – LearnWebCode

+0

これは浮動小数点数では機能しないことが重要です。 –

+0

@MatthewMarlin浮動小数点数の場合、このソリューションは動作します(X.X00000001 ...というものを追加しません):https://stackoverflow.com/a/27861660/2441655(これは天井よりも丸くなります - 'Math.ceil'で天井を使うように簡単に変更することができます) – Venryx

6
function NearestMultiple(i, j) { 
    alert(Math.ceil(i/ j) * j); 
} 

NearestMultiple(1007, 250); //returns 1250 

http://jsfiddle.net/SUya9/1/

での例を参照するか、何がジェームズはあまりにも言いました!

編集:私はフィドルを更新しました...あなたはすべての時間を切り上げたかった見たが、ジェームズは1.

+1

助けてくれてありがとうございました。 – LearnWebCode

+0

これは浮動小数点数では機能しません。 http://jsfiddle.net/SUya9/15/ –

+0

@MatthewMarlin浮動小数点数の場合、このソリューションは動作します(X.X00000001 ...というものを追加しません):https://stackoverflow.com/a/27861660/2441655(天井ではなく丸めますが、 'Math.ceil'で天井を使うように簡単に変更できます) – Venryx

関連する問題