如何使用Javascript获取特定范围内的随机数?

时间:2015-07-25 13:47:24

标签: javascript

我试图找到一种在我的Node脚本命令中运行的方法,例如获取0.01到10.85的随机数。该数字必须看起来像0.01而不是0.000000001。

我该怎么做?

我目前的命令:

var randomTicket = helper.getRandomInt(0, 10.85);

该命令因某种原因只返回数字0

还有其他替代方法吗?

1 个答案:

答案 0 :(得分:0)

Math.random可以解决问题。它返回一个介于[0,1)之间的值(1是独占的)。然后通过max和min之间的差异来缩放范围,并将min添加为偏移量。

function getRandomArbitrary(min, max) {
  return Math.random() * (max - min) + min;
}

但是因为你得到一个浮点值,你不能在第二个位置后剪掉小数。您可以将其格式化为字符串。我不确定,但这应该有用。

var number = getRandomArbitrary(0.01, 10.85);
var numString = number.toFixed(2);

修改

如果只生成整数,则将min和max乘以100.0,并将结果除以100.0。

var number = getRandomArbitrary(1.0, 1085.0);
var numString = (number / 100.0).toFixed(2);

var number = getRandomInt(1, 1085);
var numString = (number / 100.0).toFixed(2);