1

可能重复:
在特定范围内的 Javascript 中生成随机数?

最好的方法使用 Math 对象来获取随机数:

  • [a, b](双整数)(2 种情况)
  • (a, b) (双整数)
  • [a, b) (双整数)
  • (a, b] (双整数)

任何人都可以帮助我吗?谢谢!

4

3 回答 3

1

我想这就是你要找的东西:

var rand = function(a,b){
    return a+Math.round((b-a)*Math.random());
}
var r = rand(5,10);
console.log(r);
于 2012-08-19T13:27:18.053 回答
1
Math.extendedRandom = function(a,b,excludeA,excludeB, round)
{
    var start = a;
    var end = b;
    if(excludeA)
        start++;
    if(excludeB)
        end--;

    var res = (end-start) * Math.random();
    return start + (round ? Math.floor(res) : res);
};
于 2012-08-19T13:33:26.553 回答
0

最简单的情况是第三种,它已经Math.random在 J​​avaScript 中实现了。

Trevor 在这个问题中回答了第一个案例。不过,请务必阅读其他答案和评论,以清楚地了解其含义。

同样,nickf 在同一个问题中回答了第四种情况。

第二种情况可以通过特雷弗回答的变体来处理:

function zero_exclusive_random(){
  var r = Math.random();
  return r == 0 ? zero_exclusive_random() : r;
}
于 2012-08-19T14:16:06.313 回答