Math.floor(Math.random()*10)+1
私が理解していることから、1〜10の乱数を選択することになっている場合。
ただし、+1
を任意の数値に変更すると1
、同じ結果が得られます。どうしてこれなの?+1
正確にはどういう意味ですか?
Math.floor(Math.random()*10)+1
私が理解していることから、1〜10の乱数を選択することになっている場合。
ただし、+1
を任意の数値に変更すると1
、同じ結果が得られます。どうしてこれなの?+1
正確にはどういう意味ですか?
乱数ジェネレーターは、0.0 <= n < 1.0 の範囲の値を生成します。1 から何かの間の数値が必要な場合は、+1
オフセットを適用する必要があります。
通常、次を使用できます。
Math.floor(Math.random() * N) + M
これにより、M と M + N - 1 の間の値が生成されます。
整数は 1 から 10 の間です
etc: math.random() [randomly return : 0.19157057767733932]
(この数値にはまだ多くの小数点以下の桁数があります)
ランダムな整数を取得するには、生成された乱数に 10 を掛ける必要があります。
など
math.random()*10 =[ランダムに返す: 2.9757621488533914]
etc:
math.floor(0.6) [0 を返す]
math.floor(0.6)+ 1 [1 を返す]
Math.random()
0 から 1 の間の乱数を生成します。
したがってMath.random()*10
、0 ~ 10 の乱数と(Math.random()*10)+1
1 ~ 11 の乱数を生成します。
Math.floor()
この数値の小数を削除し、0 から 10 までの整数にします。
ここでロジックの順次進行を見ることができます
基本:
(random() >= 0)
いつもtrue
(random() < 1)
いつもtrue
(Math.floor(random()) == 0)
いつもtrue
最大:
(Math.floor(random() * 10) >= 0)
いつもtrue
(Math.floor(random() * 10) < 10)
いつもtrue
最小:
(Math.floor(random() * 10) + 1 >= 1)
いつもtrue
(Math.floor(random() * 10) + 1 < 11)
いつもtrue
最大ラウンド:
(Math.round(random() * 10, 0) >= 0)
いつもtrue
(Math.round(random() * 10, 0) <= 10)
いつもtrue