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;}}
谢谢!