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 renvoieNaN
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.