1

重複の可能性:
特定の範囲で Javascript で乱数を生成していますか?

最良の方法は、たとえば Math オブジェクトを使用して、次の乱数を取得します。

  • [a, b] (倍精度 - 整数) (2 ケース)
  • (a, b) (double - 整数)
  • [a, b) (double - 整数)
  • (a, b] (double - 整数)

誰でも私を助けることができますか?ありがとう!

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

最も単純なケースは 3 番目のケースで、すでにMath.randomJavaScript で実装されています。

最初のケースは、この質問で Trevor によって回答されています。ただし、その意味を明確に理解するために、他の回答とコメントを必ず読んでください。

同様に、4 番目のケースは、同じ質問で nickf によって回答されています。

2 番目のケースは、Trevor の回答のバリエーションで処理できます。

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