Für meine Selentests benötige ich einen Werteanbieter, um in jedem Fall eine 5-stellige Nummer zu erhalten. Das Problem mit Javascript ist, dass die API von Math.random
nur die Erzeugung eines 0.
Start-Floats unterstützt. Also muss es zwischen 10000
und sein 99999
.
Es wäre also einfach, wenn es nur 0.10000
und höher erzeugen würde , aber es würde auch erzeugen 0.01000
. Dieser Ansatz ist also nicht erfolgreich:
Math.floor(Math.random()*100000+1)
Ist es möglich, in jedem Fall eine 5-stellige Zahl zu generieren (in einem Ausdruck!)?
javascript
random
expression
digit
Christopher Klewes
quelle
quelle
Ja, Sie können Zufallszahlen in einem bestimmten Bereich erstellen:
var min = 10000; var max = 99999; var num = Math.floor(Math.random() * (max - min + 1)) + min;
Oder vereinfacht:
var num = Math.floor(Math.random() * 90000) + 10000;
quelle
Wenn Sie beispielsweise eine Postleitzahl generieren möchten und es Ihnen nichts ausmacht, Nullen zu führen, solange es sich um 5 Ziffern handelt, können Sie Folgendes verwenden:
(""+Math.random()).substring(2,7)
quelle
Math.random()
wird nicht garantiert, dass mindestens N Ziffern zurückgegeben werden. Ich habe es gerade mit Firefox versucht,(""+Math.random()).substring(2,7)
kann XYZ oder XYWZ zurückgeben, was 3/4 Ziffern ist.Mit der folgenden Funktion können Sie eine zufällige Ganzzahl einschließlich einer beliebigen Min- und Max-Zahl erhalten:
function getRandomIntInclusive(min, max) { min = Math.ceil(min); max = Math.floor(max); return Math.floor(Math.random() * (max - min + 1)) + min; }
Weitere Beispiele und andere Anwendungsfälle finden Sie in der Math.random MDN-Dokumentation .
quelle
Was ist damit?
var generateRandomNDigits = (n) => { return Math.floor(Math.random() * (9 * (Math.pow(10, n)))) + (Math.pow(10, n)); } generateRandomNDigits(5)
quelle