diff options
Diffstat (limited to 'files/de/web/javascript/reference/global_objects/math/math.random')
-rw-r--r-- | files/de/web/javascript/reference/global_objects/math/math.random/index.html | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/files/de/web/javascript/reference/global_objects/math/math.random/index.html b/files/de/web/javascript/reference/global_objects/math/math.random/index.html new file mode 100644 index 0000000000..6097229c1a --- /dev/null +++ b/files/de/web/javascript/reference/global_objects/math/math.random/index.html @@ -0,0 +1,112 @@ +--- +title: Math.random() +slug: Web/JavaScript/Reference/Global_Objects/Math/math.random +tags: + - JavaScript + - Math + - Method + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Math/random +--- +<div>{{JSRef}}</div> + +<p>Die <strong><code>Math.random()</code></strong> Funktion gibt eine Pseudozufallszahl in Form einer Gleitkommazahl im Bereich von 0 - 1 (0 inklusiv, aber 1 nicht) annähernd gleichverteilt zurück, die dann zur gewünschten Größe skaliert werden kann. Die Zufallszahl wird von der Implementierung bestimmt; sie kann nicht vom Benutzer ausgewählt oder zurückgesetzt werden.</p> + +<div>{{EmbedInteractiveExample("pages/js/math-random.html")}}</div> + +<div class="note"> +<p><code>Math.random()</code> stellt <em>keine</em> kryprografisch sicheren Zufallszahlen bereit. <span id="result_box" lang="de"><span class="hps">Verwenden Sie sie auf keinen Fall für </span><span class="hps">etwas, das in Verbindung mit </span><span class="hps">Sicherheit steht</span><span>.</span></span> Benutzen Sie stattdessen die Web Crypto API, genauer gesagt die {{domxref("RandomSource.getRandomValues()", "window.crypto.getRandomValues()")}}-Methode.</p> +</div> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox"><code>Math.random()</code></pre> + +<h3 id="Rückgabewert">Rückgabewert</h3> + +<p>Eine pseudozufällige Gleitkommazahl zwischen <code>0</code> (inklusiv) und <code>1</code> (exklusiv).</p> + +<h2 id="Beispiele">Beispiele</h2> + +<p><span id="result_box" lang="de"><span class="alt-edited">Beachten Sie, dass, weil Zahlen in JavaScript IEEE 754 Gleitkommazahlen sind, mit dem Verhalten zur nächsten geraden Zahl zu runden, die Bereiche für die folgenden Funktionen - mit Ausnahme für</span></span> <code>Math.random()</code> <span lang="de"><span class="alt-edited">selbst - nicht exakt sind.<br> + Wenn extrem große Grenzen</span></span> (2<sup>53</sup> <span id="result_box" lang="de"><span class="alt-edited">oder höher) gewählt werden, ist es in äußerst seltenen Fällen möglich, dass die eigentlich ausgeschlossenen Obergrenzen mit eingerechnet werden.</span></span></p> + +<h3 id="Erzeugt_eine_Zufallszahl_zwischen_0_inklusive_und_1_exklusive">Erzeugt eine Zufallszahl zwischen 0 (inklusive) und 1 (exklusive)</h3> + +<pre class="brush: js">function getRandom() { + return Math.random(); +} +</pre> + +<h3 id="Erzeugt_eine_Zufallszahl_zwischen_zwei_Zahlen">Erzeugt eine Zufallszahl zwischen zwei Zahlen</h3> + +<p>Das Beispiel gibt eine zufällige Zahl zwischen zwei Zahlen zurück. Der Rückgabewert is größer oder gleich <code>min</code> und kleiner als <code>max</code>.</p> + +<pre class="brush: js">function getRandomArbitrary(min, max) { + return Math.random() * (max - min) + min; +} +</pre> + +<h3 id="Erzeugt_eine_ganze_Zufallszahl_zwischen_zwei_Zahlen">Erzeugt eine ganze Zufallszahl zwischen zwei Zahlen</h3> + +<p>Das Beispiel gibt eine zufällige ganze Zahl zwischen den spezifizierten Werten zurück. Der Wert ist nicht kleiner als <code>min</code> (oder der nächstgrößeren ganzen Zahl von <code>min</code>, wenn <code>min</code> keine ganze Zahl ist) und ist kleiner als (aber nicht gleich) <code>max</code>.</p> + +<pre>function getRandomInt(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min)) + min; +} +</pre> + +<div class="note"> +<p><span id="result_box" lang="de"><span>Es könnte verlockend sein, <code>Math.round()</code> zu verwenden, um das Ergebnis zu erreichen, aber das würde dazu führen, dass die zufälligen Zahlen einer ungleichmäßigen Verteilung folgen würden, die möglicherweise nicht den geforderten Bedürfnisse entsprechen würde</span></span><span lang="de"><span>.</span></span></p> +</div> + +<h3 id="Erzeugt_eine_ganze_Zufallszahl_zwischen_zwei_Zahlen_inklusiv">Erzeugt eine ganze Zufallszahl zwischen zwei Zahlen (inklusiv)</h3> + +<p>Die obere <code>getRandomInt()</code> Funktion hat ein inklusives Minimum und ein exklusives Maximum. Was ist, wenn sowohl das Minimum als auch das Maximum inklusive sein sollen? Die <code>getRandomIntInclusive()</code> Funktion ermöglicht dieses:</p> + +<pre>function getRandomIntInclusive(min, max) { + min = Math.ceil(min); + max = Math.floor(max); + return Math.floor(Math.random() * (max - min +1)) + min; +} +</pre> + +<h2 id="Spezifikationen">Spezifikationen</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spezifikation</th> + <th scope="col">Status</th> + <th scope="col">Kommentar</th> + </tr> + <tr> + <td>{{SpecName('ES1')}}</td> + <td>{{Spec2('ES1')}}</td> + <td>Initiale Definition. JavaScript 1.0 (nur auf UNIX) / JavaScript 1.1 (auf allen Plattformen).</td> + </tr> + <tr> + <td>{{SpecName('ES5.1', '#sec-15.8.2.14', 'Math.random')}}</td> + <td>{{Spec2('ES5.1')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ES6', '#sec-math.random', 'Math.random')}}</td> + <td>{{Spec2('ES6')}}</td> + <td></td> + </tr> + <tr> + <td>{{SpecName('ESDraft', '#sec-math.random', 'Math.random')}}</td> + <td>{{Spec2('ESDraft')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="Browserkompatibilität">Browserkompatibilität</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("javascript.builtins.Math.random")}}</p> |