JavaScript expression pour générer un nombre à 5 chiffres dans tous les cas
-
24-09-2019 - |
Question
pour mes tests de sélénium je besoin d'un fournisseur de valeur pour obtenir un numéro à 5 chiffres dans tous les cas. Le problème avec le javascript est que l'api de Math.random
ne supporte que la génération d'un flotteur de départ 0.
. Donc, il doit être entre 10000
et 99999
.
Il serait facile si elle ne génère que 0.10000
et plus, mais il génère également 0.01000
. Ainsi, cette approche ne réussit pas:
Math.floor(Math.random()*100000+1)
Est-il possible de générer un nombre à 5 chiffres dans tous les cas (dans une expression!)?
La solution
Qu'en est-il:
Math.floor(Math.random()*90000) + 10000;
Autres conseils
Oui, vous pouvez créer des nombres aléatoires dans une plage donnée:
var min = 10000;
var max = 99999;
var num = Math.floor(Math.random() * (max - min + 1)) + min;
Ou simplifiée:
var num = Math.floor(Math.random() * 90000) + 10000;
si vous voulez générer dire un code postal, et ne me dérange pas des zéros aussi longtemps qu'il est 5 chiffres que vous pouvez utiliser:
(""+Math.random()).substring(2,7)
Vous pouvez obtenir un nombre entier aléatoire compris les numéros de min et max donné à l'aide de la fonction suivante:
function getRandomIntInclusive(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min + 1)) + min;
}
Pour plus d'exemples et d'autres cas d'utilisation, extrayez de la