我想生成一个长度为5的0-9数字随机整数。我尝试过以下代码:
function genRand(min,max) {
for (var i = 1; i <= 5; i++) {
var range = max - min + 1;
return Math.floor(Math.random()*range) + min;
}
}
并调用:
genRand(0,9);
但它总是只返回一个数字,而不是5个(
请帮忙!
)
我想生成一个长度为5的0-9数字随机整数。我尝试过以下代码:
function genRand(min,max) {
for (var i = 1; i <= 5; i++) {
var range = max - min + 1;
return Math.floor(Math.random()*range) + min;
}
}
并调用:
genRand(0,9);
function genRand() {
return Math.floor(Math.random()*89999+10000);
}
return
语句会在第一次循环时退出函数。
最小的五位数是10000,最大的是99999,也就是10000+89999。
返回0到89999之间的随机数,并加上最小值。
var ran5=10000+Math.round(Math.floor()*90000)
Math.floor向下取整,而Math.random的值大于等于0且小于1。
function rand(digits) {
return Math.floor(Math.random()*parseInt('8' + '9'.repeat(digits-1))+parseInt('1' + '0'.repeat(digits-1)));
}
要生成5位随机数,请在范围(10000, 99999)内生成随机数。 或者生成5个单个数字并将它们粘贴。
编辑
你所展示的过程只会生成一个数字并返回给调用者。 可能有效的方法是(伪代码):
int sum = 0;
int m = 1;
for (i=0;i<5;i++)
{
sum = sum + m * random (0, 9);
/* or */
sum = sum * m + random (0, 9);
m = m * 10;
}
或者更好的方法是使用rand(10000, 99999)
生成5位随机数。