【发布时间】:2012-08-15 21:38:07
【问题描述】:
我想要一些关于生成随机整数的信息。我在 Google 和 Stack Overflow 中寻找它,并且大部分都找到了这样的代码(如果我们想要从 1 到 52 的数字):
var randInt=function(){
number=Math.floor(Math.random()*52+1);
};
和
var randNumMin = 1;
var randNumMax = 52;
var randInt = function (){
number = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
};
我阅读了一些关于Math.random 的参考资料,发现它正在生成从0 到1 的数字。如果Math.random 生成1,我们将得到数字5,这意味着我们会得到错误。我同意这是非常罕见的情况,但这是可能的。我稍微修改了代码以避免该错误(在我们的例子中生成数字53)。这里我认为是在 JavaScript 中生成随机数的正确代码。在您的示例中,它仅生成整数,但我认为可以修改代码并生成任何类型的数字:
var randInt = function(){
number = Math.floor(Math.random()*52+1);
if (number === 53){
randInt();
}
};
和
var randNumMin = 1;
var randNumMax = 52;
var randInt = function (){
number = (Math.floor(Math.random() * (randNumMax - randNumMin + 1)) + randNumMin);
if (number===53){
randInt();
}
};
【问题讨论】:
标签: javascript random