在JavaScript中生成一个介于-100和100之间的随机数?

18

可能是重复问题:
在Javascript中生成随机数

我有以下代码var randomnumber=Math.floor(Math.random()*101); 它为我生成1到100之间的随机数。 我想做的是生成-100到100之间的随机数。 我不确定应该怎么做,希望得到帮助。


1
你可以先阅读JavaScript函数参考文档。 - Lightness Races in Orbit
2个回答

50

首先,生成一个 1 到 200 之间的随机数,然后减去 100:

var randomNumber = Math.floor(Math.random() * 201) - 100;

2
+1 刚刚也在写同样的答案。 - Ben
快速问题:Math.floor()能否返回落在[0.99999999999999995,0.99999999999999999]之间的值。因为如果可以,那么结果将是101,超出了给定的范围(至少这是我在Chrome控制台上运行测试时得出的结论)。当然,这种边角情况实际发生的可能性很小(接近硬件错误)。但仍然有点不寻常。 - XDS
如何使用 "a + Math.floor(Math.random() * (b – a))" <- 这种方式看起来更为简洁。 - XDS

-3
var randomnumber=Math.floor(Math.random()*200)-100;

3
应该将201包括在内,以涵盖100吗? - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接