Back

Comment convertir une chaîne de caractères en un entier en JavaScript

Comment convertir une chaîne de caractères en un entier en JavaScript

La conversion d’une chaîne de caractères en un entier est une tâche courante en JavaScript. Que vous traitiez des saisies d’utilisateur ou que vous travailliez avec des données provenant d’API, JavaScript fournit plusieurs méthodes faciles à utiliser pour cette conversion. Ce guide couvre trois façons fiables de convertir des chaînes de caractères en entiers.

Points clés

  • Utilisez parseInt() pour des conversions flexibles avec spécification facultative de la base.
  • Utilisez Number() pour une conversion simple de chaîne de caractères en entier.
  • Gérez les entrées non valides pour éviter des résultats inattendus.

1. Utilisation de parseInt()

La fonction parseInt() analyse une chaîne de caractères et renvoie un entier. Elle permet également de spécifier le système de numération (base) pour la conversion.

const str = ""42"";
const number = parseInt(str, 10);
console.log(number); // Output: 42

Détails clés

  • Le deuxième argument, 10, spécifie la base (base 10). Incluez-le toujours pour éviter un comportement inattendu avec des nombres non décimaux.
  • Si la chaîne commence par des caractères non numériques, parseInt() les ignore jusqu’à ce qu’il rencontre des chiffres :
   parseInt(""42abc"", 10); // Output: 42
   parseInt(""abc42"", 10); // Output: NaN

2. Utilisation de Number()

La fonction Number() convertit la chaîne entière en un nombre. Contrairement à parseInt(), elle n’ignore pas les caractères non numériques et échoue si la chaîne contient des données non valides.

const str = ""42"";
const number = Number(str);
console.log(number); // Output: 42

Détails clés

  • Renvoie NaN si la chaîne contient des caractères non valides :
   Number(""42abc""); // Output: NaN
  • Fonctionne mieux lorsque la chaîne est strictement numérique.

3. Utilisation de l’opérateur unaire +

L’opérateur unaire + est un moyen concis de convertir une chaîne en un nombre. Il est concis et fonctionne comme la fonction Number().

const str = ""42"";
const number = +str;
console.log(number); // Output: 42

Détails clés

  • Comme Number(), il convertit la chaîne entière et renvoie NaN pour une entrée non valide :
   +""42abc""; // Output: NaN

Gestion des entrées non valides

Pour éviter des résultats inattendus, vérifiez toujours si la conversion est valide en utilisant isNaN() :

const str = ""42abc"";
const number = parseInt(str, 10);

if (isNaN(number)) {
  console.log(""Nombre non valide"");
} else {
  console.log(""Nombre valide :"", number);
}

Conclusion

La conversion d’une chaîne de caractères en un entier en JavaScript est simple avec parseInt(), Number() ou l’opérateur unaire +. Choisissez la méthode qui correspond à votre cas d’utilisation et gérez toujours les entrées non valides pour garantir des résultats fiables.

FAQ

Pour `parseInt()` et `Number()`, une chaîne vide renverra `NaN`. Validez toujours l'entrée avant la conversion.

`parseInt()` tronque la partie décimale, tandis que `Number()` et `+` gèrent directement les nombres à virgule flottante.

`parseInt()` arrête l'analyse lorsqu'il rencontre des caractères non valides, tandis que `Number()` échoue complètement si la chaîne n'est pas entièrement numérique.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers