重複の可能性:
特定の範囲で Javascript で乱数を生成していますか?
最良の方法は、たとえば Math オブジェクトを使用して、次の乱数を取得します。
- [a, b] (倍精度 - 整数) (2 ケース)
- (a, b) (double - 整数)
- [a, b) (double - 整数)
- (a, b] (double - 整数)
誰でも私を助けることができますか?ありがとう!
重複の可能性:
特定の範囲で Javascript で乱数を生成していますか?
最良の方法は、たとえば Math オブジェクトを使用して、次の乱数を取得します。
誰でも私を助けることができますか?ありがとう!
これがあなたが探しているものだと思います:
var rand = function(a,b){
return a+Math.round((b-a)*Math.random());
}
var r = rand(5,10);
console.log(r);
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);
};
最も単純なケースは 3 番目のケースで、すでにMath.random
JavaScript で実装されています。
最初のケースは、この質問で Trevor によって回答されています。ただし、その意味を明確に理解するために、他の回答とコメントを必ず読んでください。
同様に、4 番目のケースは、同じ質問で nickf によって回答されています。
2 番目のケースは、Trevor の回答のバリエーションで処理できます。
function zero_exclusive_random(){
var r = Math.random();
return r == 0 ? zero_exclusive_random() : r;
}