Javascript JS Math setinterval范围内的随机数

Javascript JS Math setinterval范围内的随机数,javascript,Javascript,我有一个默认的数字,在页面加载后,每秒钟,我都必须在其中添加一个范围内的数字:(0.02-0.006) 代码如下: var金额=44522.1234; 设置超时(开始,1000); var i=Math.floor(Math.random()*(0.02-0.006)+0.006); 控制台日志(“首字母”+i); var num=document.getElementById('total'); 函数start(){ 设置间隔(增加,1000); } 功能增加(){ 如果(i

我有一个默认的数字,在页面加载后,每秒钟,我都必须在其中添加一个范围内的数字:(0.02-0.006)

代码如下:

var金额=44522.1234;
设置超时(开始,1000);
var i=Math.floor(Math.random()*(0.02-0.006)+0.006);
控制台日志(“首字母”+i);
var num=document.getElementById('total');
函数start(){
设置间隔(增加,1000);
}
功能增加(){
如果(i<金额){
i++;
控制台日志(i);
num.innerText=金额+i;
}
}

Math.floor
将截断数字,因此它永远不会在您想要的范围内。此外,您应该每秒生成一个新的随机数,而不是增加最初生成的数

var金额=44522.1234;
设置超时(开始,1000);
var num=document.getElementById('total');
函数start(){
设置间隔(增加,1000);
}
功能增加(){
var i=Math.random()*(0.02-0.006)+0.006;
控制台日志(“添加”,i);
金额+=i;
num.textContent=金额;
}

我不确定您将如何添加1
Math.random()
返回小于1的十进制值。您将其乘以
0.02
,这将永远不会使其超过1。无需
setTimeout
正常调用
start
或直接使用
setInterval
。你的
Math.floor
调用总是将你的范围降至0(因为它就是这样做的)。您的间隔也在增加1,而不是该范围内的数字。
i++
相当于
i=i+1
。这是1。