2014-09-29 65 views
0

我試圖找到這個問題的答案,但沒有找到明確簡單的解決方案。Ceil number to next 100k

假設我有不同的數字,例如90000,125784,547123,18047. 現在,我需要他們ceil到最近的10萬,使他們成爲:

90000 => 100000 
125784 => 200000 
547123 => 600000 
18047 => 100000 

看起來像一個簡單的任務但我不知道如何使它適用於所有可能的值,從0到10億。

+1

我認爲你完全知道'yourDescribedFunction(100001)'將會返回'200000'。 。? (只是檢查。) – usr2564301 2014-09-29 08:51:16

回答

0

鴻溝爲100000mPa天花板之前,然後100000乘:

function ceil100K (nr) { 
    return Math.ceil(nr/100000) * 100000; 
} 
2

很簡單:

Math.ceil(number/100000)*100000; 
-1

我建議:

var n = 9000, 
    o = Math.ceil(n/100000) * 100000; 
console.log(o); 

或者功能:

function toNearestK (num, k) { 
    return Math.ceil(num/(k*1000)) * (k * 1000); 
} 

電話與:

toNearestK (9000, 100); // 100000 
+0

最接近100K是必需的。你計算10k(10000)的上限。 – 2014-09-29 08:47:45

+0

@ Fumu7:的確如你所評論的那樣編輯和糾正錯別字。 – 2014-09-29 08:48:31

0

您可以使用以下方法:

var precision = 100000, 
    rounded = Math.ceil(val/precision) * precision;