对于我的硒测试,我需要一个值提供者来在每种情况下获取 5 位数字。javascript 的问题是 api Math.random 只支持生成一个 0. 开始浮动。所以它必须介于 1000099999.

所以如果它只生成就很容易 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 文档.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top