Nombres JavaScript
Introduction aux nombres JavaScript
JavaScript, en tant que langage de programmation dynamique, prend en charge différents types de nombres. Comprendre ces nombres est crucial pour un codage efficace. Cet article explore en profondeur les nombres JavaScript, offrant des exemples pratiques et des conseils tant pour les débutants que pour les programmeurs expérimentés.
Comprendre les types de nombres
- Nombres réguliers : JavaScript utilise le format IEEE-754 sur 64 bits, communément appelé « nombres en virgule flottante en double précision ». Il s'agit du type standard utilisé en JavaScript.
- Nombres BigInt : Pour représenter des entiers de longueur arbitraire. Utilisés dans des scénarios spécifiques nécessitant une haute précision.
Écrire des nombres en JavaScript
let billion = 1e9; // 1 billion
let ms = 1e-6; // One microsecondL'utilisation de la notation scientifique simplifie la représentation des nombres très grands ou très petits.
Nombres hexadécimaux, binaires et octaux
JavaScript prend en charge différents systèmes de numération :
- Hexadécimal (ex.
0xFF) - Binaire (ex.
0b1010) - Octal (ex.
0o744)
La méthode toString
Convertir des nombres en différentes bases :
Méthodes d'arrondi
JavaScript propose plusieurs fonctions pour arrondir les nombres :
Math.floor(): Arrondit un nombre à l'entier inférieur le plus proche.
Math.ceil(): Arrondit un nombre à l'entier supérieur le plus proche.
Math.round(): Arrondit un nombre à l'entier le plus proche, selon les règles mathématiques standard.
Math.trunc(): Supprime les décimales, tronquant ainsi le nombre.
Gestion des calculs imprécis
Gérer l'arithmétique en virgule flottante et ses particularités, comme le célèbre 0.1 + 0.2 != 0.3, est essentiel pour les développeurs JavaScript.
Valeurs numériques spéciales
Comprendre Infinity, -Infinity et NaN en JavaScript :
- Infinity : Représente l'infini, une valeur supérieure à tout autre nombre. Ce résultat s'obtient en divisant un nombre par zéro ou en dépassant la limite supérieure des nombres en virgule flottante.
- -Infinity : Représente l'infini négatif, une valeur inférieure à tout autre nombre. Cela se produit lorsque vous divisez un nombre négatif par zéro ou que vous dépassez la limite inférieure des nombres en virgule flottante.
- NaN : Signifie « Not-a-Number » (pas un nombre). Cette valeur résulte d'une opération mathématique non définie ou non représentable, comme la division de zéro par zéro.
``isNaN()etisFinite()` : méthodes pour vérifier ces valeurs spéciales :
isNaN(): Vérifie si une valeur estNaN. Notez que la fonction globaleisNaN()effectue une conversion de type implicite, doncisNaN('hello')renvoietrue. Pour une vérification stricte du type, utilisezNumber.isNaN(), qui ne renvoietrueque si la valeur est effectivementNaN.isFinite(): Vérifie si une valeur est un nombre fini, renvoyantfalsepourInfinity,-InfinityouNaN.
Exemples :
isNaN('hello')renvoietruecar la chaîne est coercée enNaN.isFinite(2 / 0)renvoiefalse, car2 / 0donneInfinity, qui n'est pas fini.
Conversion numérique : parseInt et parseFloat
Ces fonctions analysent une chaîne de caractères et renvoient un entier ou un nombre à virgule flottante :
``parseInt` est utilisé pour convertir une chaîne en entier. Voici comment il fonctionne :
- Il lit de gauche à droite et s'arrête au premier caractère qui ne fait pas partie d'un nombre.
- Si le premier caractère ne peut pas être converti en nombre, il renvoie NaN.
``parseFloat` est utilisé pour convertir une chaîne en nombre à virgule flottante. Voici un exemple :
Dans cet exemple, parseFloat lit la chaîne jusqu'à ce qu'il atteigne un caractère qui ne fait pas partie d'une notation à virgule flottante, puis il renvoie le nombre à virgule flottante qu'il a collecté jusqu'à ce point.
Conclusion
La gestion des nombres en JavaScript est polyvalente et répond à un large éventail de besoins de programmation. En maîtrisant ces concepts, les développeurs peuvent écrire du code plus robuste et efficace. Pour des guides de types connexes, consultez Chaînes de caractères et Booléens.
Pratique
Qu'est-ce qui est vrai concernant les nombres JavaScript ?