JS kann das Math-Objekt (Arithmetik) verwenden, um Zufallszahlen zu generieren.

Methoden des Math-Objekts, die Sie kennen müssen

Methode Beschreibung
ceil(x) Rundet eine Zahl auf, d. h. aufrunden.
floor(x) Rundet x ab, d. h. abrunden.
round(x) Rundet auf die nächste ganze Zahl.
random() Gibt eine Zufallszahl zwischen 0 und 1 zurück, einschließlich 0, aber nicht 1.

Einige Beispiele zur Erklärung:

Math.ceil(Math.random()*10);     // 获取从 1 到 10 的随机整数,取 0 的概率极小。

Math.round(Math.random());       // 可均衡获取 0 到 1 的随机整数。

Math.floor(Math.random()*10);    // 可均衡获取 0 到 9 的随机整数。

Math.round(Math.random()*10);    // 基本均衡获取 0 到 10 的随机整数,其中获取最小值 0 和最大值 10 的几率少一半。

Denn das Ergebnis ist 0 für 0~0.4, 1 für 0.5 bis 1.4, 9 für 8.5 bis 9.4 und 10 für 9.5 bis 9.9. Daher sind die Verteilungsintervalle am Anfang und am Ende nur halb so groß wie die der anderen Zahlen.


Zufällige Ganzzahlen in [n,m] generieren

Zweck der Funktion: Erzeuge[n,m]eine zufällige Ganzzahl.

Nützlich beim Generieren von Captchas oder beim zufälligen Auswählen einer Option in JS.

//生成从minNum到maxNum的随机数
function randomNum(minNum,maxNum){ 
    switch(arguments.length){ 
        case 1: 
            return parseInt(Math.random()*minNum+1,10); 
        break; 
        case 2: 
            return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); 
        break; 
            default: 
                return 0; 
            break; 
    } 
} 

Ablaufanalyse:

Math.random() erzeugt eine Zahl in [0,1), daher erzeugt Math.random()*5 eine Zahl in [0,5).

Normalerweise erwarten wir eine Ganzzahl, also müssen wir das Ergebnis verarbeiten.

parseInt(), Math.floor(), Math.ceil() und Math.round() können alle Ganzzahlen liefern.

parseInt() und Math.floor() runden beide ab.

Also erzeugt Math.random()*5 zufällige Ganzzahlen in [0,4].

Um also eine zufällige Zahl in [1,max] zu erzeugen, lautet die Formel wie folgt:

// max - 期望的最大值
parseInt(Math.random()*max,10)+1;
Math.floor(Math.random()*max)+1;
Math.ceil(Math.random()*max);

Um also eine zufällige Zahl von [0,max] bis zu einer beliebigen Zahl zu erzeugen, lautet die Formel wie folgt:

// max - 期望的最大值
parseInt(Math.random()*(max+1),10);
Math.floor(Math.random()*(max+1));

Wenn Sie also eine zufällige Zahl in [min,max] erzeugen möchten, lautet die Formel wie folgt:

// max - 期望的最大值
// min - 期望的最小值
parseInt(Math.random()*(max-min+1)+min,10);
Math.floor(Math.random()*(max-min+1)+min);

Beispiel

// Benutzereingabe
const min = parseInt(prompt(Mindestwert eingeben:));
const max = parseInt(prompt(Maximalwert eingeben:));

// Eine Zufallszahl erzeugen
const a = Math.floor(Math.random() * (max - min + 1)) + min;

// Die Zufallszahl anzeigen
document.write(`${min}bis ${max}Zufallszahl: ${a}`);

Ausprobieren »

Ein Online-Zufallszahlengenerator:https://c.example.com/front-end/6680/

Original-Link: http://www.cnblogs.com/starof/p/4988516.html