Maison > interface Web > js tutoriel > le corps du texte

Nombres aléatoires en javascript math random Comment générer des nombres aléatoires dans une plage de valeurs spécifiée _javascript skills

WBOY
Libérer: 2016-05-16 15:35:53
original
2080 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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);
Copier après la connexion

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);
Copier après la connexion

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 !

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal