Les nombres en JavaScript
Deux types de nombres peuvent être mis en évidence dans le JavaScript moderne : Regular et BigInt.
- Les nombres réguliers sont stockés dans le format de 64-bit IEEE-754. Il est également connu sous le nom de « double-precision floating-point numbers ». Les développeurs utilisent ces nombres le plus souvent dans leur pratique.
- Les nombres BigInt sont utilisés pour représenter des entiers de longueur arbitraire. Nous ne les utilisons que dans quelques domaines uniques.
Les moyens d'écrire un nombre
Disons que vous voulez écrire un milliard. Voici la méthode la plus courante :
let billion = 1000000000;
Dans notre pratique, nous essayons généralement d'éviter d'écrire beaucoup de zéros. Nous préférons écrire, par exemple, "1bn". Maintenant, nous allons apprendre comment raccourcir un nombre en JavaScript.
Pour raccourcir un nombre en JavaScript, vous devez ajouter la lettre "e" au nombre et spécifier le nombre de zéros. Cela ressemblera à ceci :
Maintenant, imaginez que vous voulez écrire “un microseconde”. Vous devez le faire comme suit :
let ms = 0.000001;
Si vous êtes impatient d'éviter d'écrire un grand nombre de zéros, vous devez agir comme ceci :
Comme 0.000001 comprend 6 zéros, ce sera 1e-6.
Les nombres Hexadécimaux, Binaires et Octaux
En Javascript, nous utilisons des nombres hexadécimaux, également connus sous le nom de Hex, pour représenter des couleurs, des caractères d'encodage, et bien plus encore. Heureusement, il existe un moyen plus court de les écrire :
0x et ensuite le nombre.
Voici un exemple :
Voici un exemple de nombres octaux :
En général, les développeurs utilisent plus rarement les systèmes numériques binaires et octaux. Ces systèmes numériques sont également supportés en utilisant les préfixes suivants : 0b et 0o.
Par exemple :
toString (Base)
Cette méthode renvoie une représentation en chaîne de num, avec une base spécifique, qui peut varier de 2 à 36. Mais par défaut, c'est 10.
Par exemple :
Arrondissement
Une opération typique lors du travail avec des nombres est l'arrondissement.
Vous pouvez trouver ci-dessous plusieurs fonctions intégrées utilisées pour l'arrondissement :
Math.floor
Avec l'aide de cette fonction, vous pouvez facilement arrondir à la baisse. Par exemple, 6.2 devient 6, -2.2 devient-3.
Math.ceil
Cette fonction fait l'inverse. Elle arrondit les nombres à la hausse. Par exemple, 3.1 deviendra 4, -2.2 deviendra -2 .
Math.round
Utiliser cette fonction arrondira à l'entier le plus proche. Par exemple, 3.1 devient 3, 5.6 devient 6, et -2.2 devient -2.
Math.trunc
Cette fonction supprime tout ce qui se trouve après la virgule. Par exemple, 6.1 devient 6.
Calcul imprécis
Dans le format 64 bits IEEE-754, 64 bits sont utilisés pour stocker un nombre. 52 d'entre eux sont utilisés pour stocker les chiffres, 11 d'entre eux pour la position de la virgule, et 1 pour le signe.
Dans le cas où le nombre est trop grand, il débordera du stockage de 64 bits et donnera potentiellement une infinité.
Pour mieux comprendre, regardez cet exemple :
La perte de précision est également chose courante. Regardez le test suivant (faux!) :
Tests : isFinite et isNan
Avant tout, jetons un œil aux deux valeurs numériques uniques suivantes :
- Infinity (et -Infinity). Cette valeur numérique est supérieure (ou inférieure) à tout le reste.
- NaN montre une erreur.
Il est essentiel de savoir que ce ne sont pas des nombres standard. Par conséquent, vous devez utiliser des fonctions spéciales pour les vérifier.
-
Le isNaN(value) convertit son argument en un nombre. Par la suite, il teste si c'est isNaN(value) ou non.
- isFinite(value) convertira son argument en un nombre et renverra vrai si le nombre est régulier, non NaN/Infinity/-Infinity.
Par exemple :
Vous pouvez vous demander pourquoi il n'est pas possible d'utiliser la comparaison de === NaN. C'est simplement parce que le NaN est unique en ce qu'il n'est égal à rien, même pas à lui-même :
Jetez un coup d'œil à cet exemple :
Il existe des cas où les développeurs utilisent isFinite pour valider si une valeur de chaîne est un nombre régulier, comme ceci :
ParseInt et ParseFloat
Une conversion numérique qui utilise un + ou un Number() est stricte. Si une valeur n'est pas exactement un nombre, elle échouera comme suit :
Les espaces au début ou à la fin de la chaîne sont la seule exception, car ils sont ignorés.
Par ailleurs, en CSS, vous pouvez rencontrer des valeurs en unités, comme "20pt" ou "50px". De plus, dans de nombreux pays, le symbole de la monnaie suit le montant. Par exemple, "19$". Si vous voulez extraire une valeur numérique de cela, vous pouvez utiliser parseInt et parseFloat. Ces fonctions liront à partir d'une chaîne jusqu'au point où elles ne le peuvent plus. Si une erreur se produit, le nombre qui a été recueilli sera retourné. Le parseInt renverra un entier, tandis que parseFloat renverra un nombre à virgule flottante, comme suit :
Dans certaines situations, les fonctions parseInt et parseFloat ne retourneront pas le NaN. Cela peut se produire quand aucun chiffre n'est trouvé. Regardez l'exemple suivant :
La fonction parseInt() a un paramètre alternatif qui spécifie la base du système numérique. Donc, parseInt peut analyser les chaînes de nombres hexadécimaux, binaires, etc :
Heure du Quiz : Testez Vos Compétences!
Prêt à relever le défi de ce que vous avez appris ? Plongez dans nos quiz interactifs pour approfondir votre compréhension et renforcer vos connaissances de manière ludique.