JavaScript math の乱数 rand 指定された値の範囲内で乱数を生成する方法 _javascript スキル

WBOY
リリース: 2016-05-16 15:35:53
オリジナル
2040 人が閲覧しました

今日、友人が私にアドバイスを求めてきました。JavaScript を使用して指定された範囲で乱数を生成する方法。 Math.random() が乱数を生成するために使用されるメソッドであることは誰もが知っていると思います。ただし、一般的なリファレンス マニュアルでは、この方法を使用して指定された範囲内の乱数を生成する方法については説明されていません。今回はMath.random()の詳細と、それを使って指定範囲内の乱数を生成する方法を紹介します。

w3school の Random() チュートリアル

定義と使用法

random() メソッドは、0 ~ 1 の範囲の乱数を返します。

文法

Math.random()

戻り値

0.0 ~ 1.0 の擬似乱数。

この例では、0 から 1 までの乱数を取得します。

<script type="text/javascript">
document.write(Math.random());
</script>
// 输出:
0.15246391076246546
ログイン後にコピー

指定した範囲内の乱数を生成する方法

w3school チュートリアルを読んだ後は、Math.random() メソッドの基本的な使用法を理解する必要があります。

丸めには parseInt()、Math.floor()、または Math.ceil() を使用します

Math.random() メソッドを使用すると、1 未満の数値が直接生成されることがわかります。

Math.random()*5

得られた結果は 5 未満の乱数です。通常、取得したいのは 0 ~ 5 の整数であるため、期待する整数を取得するには結果を四捨五入する必要があります。 parseInt()、Math.floor()、および Math.ceil() はすべて丸めの役割を果たすことができます。

var randomNum = Math.random()*5;
alert(randomNum); // 2.9045290905811183 
alert(parseInt(randomNum,10)); // 2
alert(Math.floor(randomNum)); // 2
alert(Math.ceil(randomNum)); // 3
ログイン後にコピー

テストされたコードから、parseInt() と Math.floor() は同じ効果を持ち、どちらも整数部分を下方に取り出すことがわかります。したがって、 parseInt(Math.random()*5,10) と Math.floor(Math.random()*5) はどちらも 0 ~ 4 の範囲で生成された乱数であり、 Math.ceil(Math.random()*5 ) は1 ~ 5 の範囲で乱数を生成します。
指定された範囲内の乱数を生成します

したがって、1 から任意の値までの乱数を生成したい場合、式は次のようになります:

// max - 期望的最大值
parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);
ログイン後にコピー

0 から任意の値までの乱数を生成したい場合、式は次のようになります:

// max - 期望的最大值
parseInt(Math.random()*(max+1),10);
Math.floor(Math.random()*(max+1));
如果你希望生成任意值到任意值的随机数,公式就是这样的:
// max - 期望的最大值
// min - 期望的最小值 
parseInt(Math.random()*(max-min+1)+min,10);
Math.floor(Math.random()*(max-min+1)+min);
ログイン後にコピー

この記事を読んで、乱数の数学的ランダムの使い方を理解できましたか?この記事がお役に立てば幸いです。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!