gpt4 book ai didi

javascript - 为什么需要 Math.floor 来生成 x 和 y 之间的随机数?

转载 作者:行者123 更新时间:2023-11-30 20:19:33 24 4
gpt4 key购买 nike

为什么在 js 中尝试在其他 2 个数字之间生成随机数时需要使用 Math.floor()?我似乎无法让它像这样工作:Math.random() * ((y-x)+1) + x)

最佳答案

根据 MDN 文档,

The Math.random() function returns a floating-point, pseudo-random number in the range 0–1 (inclusive of 0, but not 1).

这意味着您将返回的数字介于 0 和 1 之间。现在,拥有一长串小数点对我们开发人员来说不是 super 用户友好,因此我们喜欢​​将其乘以某个值,加一 (因为 random 函数返回一个介于 0 和 1 之间但不包括 1) 的数字,并向下舍入该数字以获得易于阅读和使用的整数。

例如:

var x = Math.floor((Math.random() * 10) + 1);

这采用“Math.random()”生成的数字,假设值为 0.12345,然后将其乘以 10,结果为 1.2345。然后我们加 1 得到 2.2345 的值。现在,所有这些小数点对我们都不是很有用,因为我们想要一个漂亮的整数,因此我们调用 Math.floor() 方法将值向下舍入到值 2。

再次调用 Math.floor 方法,因此我们不必担心所有这些小数点,而是给定一个漂亮的整数。

关于javascript - 为什么需要 Math.floor 来生成 x 和 y 之间的随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51603016/

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