如何在javascript中获取一位随机数? [复制]
Posted
技术标签:
【中文标题】如何在javascript中获取一位随机数? [复制]【英文标题】:How to get one digit random number in javascript? [duplicate] 【发布时间】:2012-12-16 20:52:47 【问题描述】:可能重复:Generating random numbers in javascript in a specific range?
有人能告诉我如何使用 Math.random() 或其他方式获得一位随机数(1,2,3,.. 不是 0.1,0.2,.. 或 1.0,5.0,..) javascript?
【问题讨论】:
可能重复:Generating random numbers in Javascript in a specific range?、Random between two numbers in Javascript、Random number between -10 and 10 in JavaScript、 【参考方案1】:var randomnumber=Math.floor(Math.random()*10)
其中 10 表示随机数将介于 0-9 之间。
【讨论】:
10 不是一位数,是吗? 大声笑,不,但假设这是 OP 不希望的小数部分,他们可以解决!已编辑。 对于任何想知道的人来说,Math.random()
函数返回一个 0–1 范围内的浮点伪随机数(包括 0,但不包括 1),所以它不会返回 10 .【参考方案2】:
使用这个:
Math.floor((Math.random()*9)+1);
【讨论】:
+ 1
删除 0
并将 10
添加到可能的输出中。
问题是“数字”,所以我认为它的意思是0-9
。
@Blender 你说得对,10
不是数字。我已经相应地更正了它,但 OP 的示例不包括 0
所以我认为这没关系。【参考方案3】:
Math.floor((Math.random()*10));
还有 0 到 10 之间的随机整数!
【讨论】:
【参考方案4】:Math.random()
返回一个介于0
和1
之间的浮点数,因此只需将其乘以10
并将其转换为整数:
Math.floor(Math.random() * 10)
或者更短一点的:
~~(Math.random() * 10)
【讨论】:
不错,不知道~~
运算符【参考方案5】:
免责声明:
JavaScript 的 math.rand() 是不加密安全的,这意味着它不应该不用于密码、PIN 码和/或赌博相关的随机数生成。如果这是您的用例,请改用web crypto API! (w3c)
如果不包括数字0(1-9):
function randInt()
return Math.floor((Math.random()*9)+1);
如果包含数字 0 (0-9):
function randIntWithZero()
return Math.floor((Math.random()*10));
【讨论】:
以上是关于如何在javascript中获取一位随机数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章