0

我正在尝试找到一种算法来产生结果:

45 => 100
458 => 1000
8456 => 10000

我想以这种方式“四舍五入”,我调查过,Math.round()但认为还不够。

4

2 回答 2

8

对于一行代码,你可以按照 Rup 所说的去做。一个以 10 为底的原木会给你最接近的 10 次方,然后做 10 次方到原木结果的上限的次方

var x = 45;

Math.pow(10, Math.ceil(Math.log(x) / Math.LN10));
于 2013-09-10T22:19:48.247 回答
2

不假思索地想出最简单的事情:

var n = 455;
var rounded;

for(var i = 1000000000 i>= 1; i/=10)
{
    if(i < n)
    {
        break;
    }
    else
    {
        rounded = i;
    }
}
于 2013-09-10T22:10:44.433 回答