gpt4 book ai didi

javascript - 关于生成随机数的一些想法

转载 作者:行者123 更新时间:2023-12-02 20:24:01 25 4
gpt4 key购买 nike

我想要一些有关生成随机整数的信息。我在 GoogleStack 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 的引用资料,发现它正在生成从 01 的数字。如果 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();
}
};

最佳答案

Math.random()函数生成随机数 x哪里0 <= x < 1 。因此它永远不会生成完全 1,尽管它可能非常接近。

来自the documentation for random :

Returns a floating-point, pseudo-random number in the range [0, 1) that is, from 0 (inclusive) up to but not including 1 (exclusive), which you can then scale to your desired range.

关于javascript - 关于生成随机数的一些想法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11977738/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com