Convertir une chaîne en un nombre en JavaScript

Nithin Krishnan 12 octobre 2023
  1. Utilisez la fonction Number() pour convertir une chaîne en nombre en JavaScript
  2. Utilisez la fonction parseInt() pour convertir une chaîne en entier en JavaScript
  3. Utilisez l’objet Math pour convertir une chaîne en entier en JavaScript
  4. Conclusion
Convertir une chaîne en un nombre en JavaScript

Nous avons dû avoir différents scénarios pour convertir un nombre. Par exemple, les données extraites d’une API ou d’une requête de base de données dans un format de chaîne vers un nombre. Comme les chaînes sont utilisées différemment, il peut être nécessaire de convertir ces chaînes en un format numérique pour effectuer des opérations arithmétiques sur elles avec facilité. Voici quelques moyens de le faire:

  • Number("123")
  • parseInt("123")
  • Math.floor("123.12")
  • Math.round("123")

Utilisez la fonction Number() pour convertir une chaîne en nombre en JavaScript

Le Number() est une fonction de la construction Number qui peut être utilisée pour convertir d’autres types de données en un format numérique (selon MDN Docs). Il renvoie NaN si le paramètre d’entrée est indéfini ou non convertible en nombre. Par exemple:

console.log(Number('246'))
console.log(Number('246.5'))
console.log(Number(undefined))
console.log(Number('Hello'))

Production:

246
246.5
NaN
NaN

Utilisez la fonction parseInt() pour convertir une chaîne en entier en JavaScript

Une autre façon de traiter les nombres de chaînes est d’utiliser la méthode parseInt() de JavaScript. parseInt() prend deux arguments, l’un est la chaîne à convertir, et l’autre est la base (signifie la base). La plupart des nombres que nous traitons dans notre vie quotidienne sont généralement dans la base de 10, ce qui signifie une valeur décimale. Dans la plupart des cas, nous n’avons pas besoin de spécifier la base car la valeur par défaut est 10.

console.log(parseInt('123'));
console.log(parseInt('abc'));
console.log(parseInt('-123'));
console.log(parseInt('100.50'));

Production:

123
NaN
-123
100

parseInt("100.50") renvoie 100 au lieu de 100.50, car il convertit le nombre d’entrée en un entier. Par conséquent, en utilisant parseInt() soyez conscient du fait.

parseInt() peut également convertir des valeurs hexadécimales et des valeurs avec les différents systèmes de numérotation de base, comme le système binaire, le système octal, etc. Pour plus d’informations, consultez la documentation. De même, nous pouvons utiliser parseFloat() pour convertir une chaîne en un nombre à virgule flottante.

Utilisez l’objet Math pour convertir une chaîne en entier en JavaScript

Math est un objet intégré en JavaScript qui a des méthodes pour des opérations mathématiques complexes. Cela fonctionne sur le numéro de type de données. Mais peu de méthodes de cet objet intégré sont utilisées pour convertir la chaîne en entier. Par example,

console.log(Math.ceil('123'));
console.log(Math.floor('300'));
console.log(Math.abs('450'));

Production:

123
300
450

Cependant, il y a un piège lors de l’utilisation des méthodes Math pour la conversion. Pour les valeurs à virgule flottante, nous ne pouvons pas les utiliser car elles les convertiront en un entier. Par conséquent, nous perdrons la partie décimale de la valeur.

  • Math.ceil("220.5"): renvoie 221. Il prend la valeur plafond, en rapprochant le nombre décimal de la valeur entière suivante qui est 221. Par conséquent, nous ne pouvons pas l’utiliser pour obtenir 220.5. Dans de tels scénarios, utilisez parseFloat().
  • Math.floor("220.5"): renvoie 220. Par rapport à la fonction ceil(), floor() renvoie la valeur entière précédente. Par conséquent, Math.floor() ne fonctionnerait pas pour les valeurs de nombres à virgule flottante.
  • Math.abs("450"): Peut être utilisé car il renverra 450 mais ne fonctionnerait pas avec des valeurs entières négatives. Par exemple, la différence suivante ne servira pas notre objectif lorsqu’il s’agit de valeurs entières négatives. Selon les scénarios suivants:
console.log(Maths.abs('240.64'))
console.log(Math.abs('-240.25'))

Production:

240.64 // The decimal value of .64 is captured here
240.25 // -240.25 is transformed to 240.25

Conclusion

En fonction de la valeur que nous attendons du numéro de chaîne, la meilleure option sera d’utiliser la méthode Number(). Si vous ne jouez qu’avec des valeurs entières, nous vous recommandons d’utiliser parseInt(). Utilisez judicieusement l’objet Math intégré dans JavaScript pour convertir un numéro de chaîne car cela peut être délicat en fonction de la méthode que nous utilisons.

Article connexe - JavaScript String

Article connexe - JavaScript Integer