MDN から ( https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Math/random ):
Math.random
[0, 1)
0 (含む) から 1 (含まない) までの範囲の浮動小数点の疑似乱数を返します。
しかし、それは言う:
JavaScript の数値は IEEE 754 浮動小数点数であり、最も近い偶数に丸められるため、
Math.random()
それ自体の範囲を除いて、これらの範囲は正確ではなく、境界によっては非常にまれなケースで可能であることに注意してください ( 2^62 の 1 のオーダー) を使用して、通常は除外される上限を計算します。
それらのケースを検討する必要がありますか?たとえば、使用...
Math.min(max, Math.floor(Math.random() * (max - min + 1)) + min);
...それ以外の...
Math.floor(Math.random() * (max - min + 1)) + min;
...?