Javascript 关于n*10的四舍五入算法

Javascript 关于n*10的四舍五入算法,javascript,algorithm,math,Javascript,Algorithm,Math,我正试图找到一个算法来实现: 45 => 100 458 => 1000 8456 => 10000 我想用这种方式“取整”,我研究了Math.round(),但这还不够。不用思考就能想到的最简单的事情是: var n = 455; var rounded; for(var i = 1000000000 i>= 1; i/=10) { if(i < n) { break; } else {

我正试图找到一个算法来实现:

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

我想用这种方式“取整”,我研究了
Math.round()
,但这还不够。

不用思考就能想到的最简单的事情是:

var n = 455;
var rounded;

for(var i = 1000000000 i>= 1; i/=10)
{
    if(i < n)
    {
        break;
    }
    else
    {
        rounded = i;
    }
}
var n=455;
var四舍五入;
对于(var i=100000000 i>=1;i/=10)
{
if(i
对于一行代码,您可以按照Rup所说的做。一个基数为10的日志将给出最接近的10次方,然后对日志结果的上限进行10次方

var x = 45;

Math.pow(10, Math.ceil(Math.log(x) / Math.LN10));

把圆木带到10号底,然后把它围起来?你总是要把它围起来吗?(因此45->100)将1001四舍五入到10000?您是否尝试将
45=>50=>100
四舍五入?将每个数字替换为0,并在数字1之前加上前缀。类似于
Integer.parseInt(“1”+String.valueOf(45.replaceAll”([0-9],“0”)
n*10
?你是说
n^10
?是的,灵感来自你的想法:
var n=455;var四舍五入;对于(vari=1;inn){break;}其他{rounded=i*10;}}
谢谢!