对于我的硒测试,在每种情况下我都需要一个值提供程序来获取5位数字。javascript的问题在于的apiMath.random
仅支持生成0.
起始浮点数。因此它必须介于10000
和之间99999
。
因此,如果它只会生成0.10000
更高的值,但也会生成,这将很容易0.01000
。因此这种方法不会成功:
Math.floor(Math.random()*100000+1)
是否可以在每种情况下(在表达式中)生成5位数字?
对于我的硒测试,在每种情况下我都需要一个值提供程序来获取5位数字。javascript的问题在于的apiMath.random
仅支持生成0.
起始浮点数。因此它必须介于10000
和之间99999
。
因此,如果它只会生成0.10000
更高的值,但也会生成,这将很容易0.01000
。因此这种方法不会成功:
Math.floor(Math.random()*100000+1)
是否可以在每种情况下(在表达式中)生成5位数字?
Answers:
如果您想生成一个邮政编码,并且不介意前导零,只要它是5位数字,就可以使用:
(""+Math.random()).substring(2,7)
Math.random()
不能保证至少N个数字返回。我只是用firefox尝试过,(""+Math.random()).substring(2,7)
可以返回3/4位数的XYZ或XYWZ。
您可以使用以下函数获得一个随机整数,其中包括任何给定的最小和最大数字:
function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
有关更多示例和其他用例,请查看Math.random MDN文档。