Aujourd'hui, un ami m'a demandé conseil : comment générer des nombres aléatoires dans une plage spécifiée à l'aide de JavaScript. Je pense que tout le monde sait que Math.random() est une méthode utilisée pour générer des nombres aléatoires. Cependant, le manuel de référence général n'explique pas comment utiliser cette méthode pour générer des nombres aléatoires dans une plage spécifiée. Cette fois, je présenterai Math.random() en détail et comment l'utiliser pour générer des nombres aléatoires dans une plage spécifiée.
Tutoriel random() de w3school
Définition et usage
La méthode random() renvoie un nombre aléatoire compris entre 0 et 1.
Grammaire
Math.random()
Valeur de retour
Un nombre pseudo-aléatoire compris entre 0,0 et 1,0.
Exemple
Dans cet exemple, nous obtiendrons un nombre aléatoire compris entre 0 et 1 :
<script type="text/javascript"> document.write(Math.random()); </script> // 输出: 0.15246391076246546
Comment générer des nombres aléatoires dans une plage spécifiée
Après avoir lu le tutoriel w3school, vous devez connaître l'utilisation de base de la méthode Math.random().
Utilisez parseInt(), Math.floor() ou Math.ceil() pour arrondir
On voit que l'utilisation de la méthode Math.random() génère directement un nombre inférieur à 1, donc :
Math.random()*5
Le résultat obtenu est un nombre aléatoire inférieur à 5. Ce que nous espérons généralement obtenir est un nombre entier compris entre 0 et 5, nous devons donc arrondir le résultat pour obtenir le nombre entier attendu. parseInt(), Math.floor() et Math.ceil() peuvent tous jouer un rôle d'arrondi.
var randomNum = Math.random()*5; alert(randomNum); // 2.9045290905811183 alert(parseInt(randomNum,10)); // 2 alert(Math.floor(randomNum)); // 2 alert(Math.ceil(randomNum)); // 3
Nous pouvons voir à partir du code testé que parseInt() et Math.floor() ont le même effet, tous deux prenant la partie entière vers le bas. Ainsi, parseInt(Math.random()*5,10) et Math.floor(Math.random()*5) sont tous deux des nombres aléatoires générés entre 0 et 4, Math.ceil(Math.random()*5 ) est un nombre aléatoire généré entre 1 et 5.
Générer des nombres aléatoires dans une plage spécifiée
Donc, si vous souhaitez générer un nombre aléatoire de 1 à n'importe quelle valeur, la formule est la suivante :
// max - 期望的最大值 parseInt(Math.random()*max,10)+1; Math.floor(Math.random()*max)+1; Math.ceil(Math.random()*max);
Si vous souhaitez générer un nombre aléatoire de 0 à n'importe quelle valeur, la formule est la suivante :
// max - 期望的最大值 parseInt(Math.random()*(max+1),10); Math.floor(Math.random()*(max+1)); 如果你希望生成任意值到任意值的随机数,公式就是这样的: // max - 期望的最大值 // min - 期望的最小值 parseInt(Math.random()*(max-min+1)+min,10); Math.floor(Math.random()*(max-min+1)+min);
Avez-vous beaucoup appris après avoir lu cet article ? Comprenez-vous l'utilisation des nombres aléatoires en mathématiques ? J'espère que cet article pourra vous aider, merci !