gpt4 book ai didi

javascript随机溢出或超出范围

转载 作者:行者123 更新时间:2023-11-28 11:07:00 25 4
gpt4 key购买 nike

我使用了 Math.random() 函数来生成一个数字,正如 W3School 示例所建议的那样:

Math.floor((Math.random() * 10) + 1);  

示例描述说它“返回 1 到 10 之间的随机数”

我稍微修改了它以获得 2 到 17 之间的范围:

Math.floor((Math.random() * 17) + 2);

但是,当我使用控制台测试它时,我得到的值是18。

为什么我的代码返回的值超出了预期范围?

最佳答案

Math.random()返回值 [0,1)(不包含上限!)。如果将其乘以 17,则会得到 0 到 17 之间的值 ( [0, 17) )。加上 2,你的范围就在 2 到 19 之间 ( [2,19) ),所以 18 就在这个范围内。

Math.floor((Math.random() * 10) + 1);  

返回 [1,10] 的范围,因为如果将 [0,1) 乘以 10,则得到 [0,10),加 1 得到 [1, 11),加上下限,得到 [1, 10]。

关于javascript随机溢出或超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35606334/

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