在每种情况下生成 5 位数字的 JavaScript 表达式
-
24-09-2019 - |
题
对于我的硒测试,我需要一个值提供者来在每种情况下获取 5 位数字。javascript 的问题是 api Math.random
只支持生成一个 0.
开始浮动。所以它必须介于 10000
和 99999
.
所以如果它只生成就很容易 0.10000
和更高,但它也会产生 0.01000
. 。所以这种方法不会成功:
Math.floor(Math.random()*100000+1)
是否可以在每种情况下(在表达式中!)生成 5 位数字?
解决方案
什么:
Math.floor(Math.random()*90000) + 10000;
其他提示
是,可以在任意给定的范围内创建的随机数:
var min = 10000;
var max = 99999;
var num = Math.floor(Math.random() * (max - min + 1)) + min;
或简化:
var num = Math.floor(Math.random() * 90000) + 10000;
如果你想生成说邮政编码,并且不介意前导零,只要它是5个数字,你可以使用:
(""+Math.random()).substring(2,7)
您可以使用以下函数获得包含任何给定最小和最大数字的随机整数:
function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
有关更多示例和其他用例,请查看 Math.random MDN 文档.
不隶属于 StackOverflow