我正在尝试找到一个算法来结果:
45 => 100
458 => 1000
8456 => 10000
我想以这种方式“围绕”,我调查了Math.round()
,但它认为不够。
答案 0 :(得分:8)
对于单行代码,你可以做Rup所说的。基数为10的日志会给你最近的10次幂,然后用10来达到日志结果的上限值
var x = 45;
Math.pow(10, Math.ceil(Math.log(x) / Math.LN10));
答案 1 :(得分:2)
最容易想到的事情是:
var n = 455;
var rounded;
for(var i = 1000000000 i>= 1; i/=10)
{
if(i < n)
{
break;
}
else
{
rounded = i;
}
}