Ceil数到下一个100k

时间:2014-09-29 08:42:18

标签: javascript math

我试图找到这个问题的答案,但没有找到一个明确的简单解决方案。

假设我有不同的数字,例如90000,125784,547123,18047。 现在,我需要ceil他们到最近的100k,以便他们成为:

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

看起来像一个简单的任务,但我不知道如何让它适用于所有可能的值,从0到10亿。

4 个答案:

答案 0 :(得分:2)

很简单:

Math.ceil(number/100000)*100000;

答案 1 :(得分:0)

在上限之前除以100000,然后乘以100000:

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

答案 2 :(得分:0)

您可以使用以下内容:

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

答案 3 :(得分:-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