Math.random und Math.floor
Kurz: Math.random() liefert in JavaScript eine Zufallszahl von 0 (inklusive) bis 1 (exklusive). Math.floor(x) rundet auf die nächste ganze Zahl nach unten. Zusammen erzeugt man ganzzahlige Zufallswerte.
Genauer: Die Zufallszahl ist eine Dezimalzahl, zum Beispiel 0.7342. Um eine Zahl in einem Bereich zu bekommen, skaliert man sie mit der Bereichsgröße und rundet ab.
Im Detail
// ganze Zahl von 0 bis 5 (Würfel minus 1)
const w = Math.floor(Math.random() * 6);
// Würfel 1 bis 6
const wuerfel = Math.floor(Math.random() * 6) + 1;
// Bereich min..max (inklusive)
const zufall = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;- floor, ceil, round, trunc:
floornach unten,ceilnach oben,roundkaufmännisch,truncschneidet Nachkommastellen ab. Bei negativen Zahlen unterscheiden sich floor und trunc (floor(-1.5)ist -2,trunc(-1.5)ist -1). - Nicht sicher:
Math.random()ist für Passwörter und Tokens ungeeignet, dortcrypto.getRandomValues, siehe Zufallszahlen: Pseudozufall und echter Zufall. - Andere Sprachen: Siehe Zufall und Runden in vielen Programmiersprachen.
Siehe auch: zufallswerte, mathematische-funktionen