我试图找到一种算法来得出如下结果:
45 => 100
458 => 1000
8456 => 10000我想用这种方式“绕过”,我查看了Math.round(),但认为还不够。
发布于 2013-09-10 22:10:44
最容易想出来的事情是:
var n = 455;
var rounded;
for(var i = 1000000000 i>= 1; i/=10)
{
if(i < n)
{
break;
}
else
{
rounded = i;
}
}发布于 2013-09-10 22:19:48
对于一行代码,您可以执行Rup所说的操作。一个基数为10的日志将给你最接近的10的幂,然后按照日志结果的上限进行10次幂。
var x = 45;
Math.pow(10, Math.ceil(Math.log(x) / Math.LN10));https://stackoverflow.com/questions/18729540
复制相似问题