"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Quand utiliser parseInt() et Number() pour la conversion de chaîne en nombre en JavaScript ?

Quand utiliser parseInt() et Number() pour la conversion de chaîne en nombre en JavaScript ?

Publié le 2024-11-17
Parcourir:291

 When to Use parseInt() and Number() for String to Number Conversion in JavaScript?

Conversion de chaînes en nombres avec parseInt() et Number()

Lors de la conversion de chaînes en nombres en JavaScript, deux fonctions couramment utilisées sont parseInt () et Nombre(). Bien qu'ils partagent tous deux l'objectif de la conversion numérique, ils diffèrent par leur approche et leur comportement.

parseInt()

parseInt() effectue une tâche plus spécifique connue sous le nom d'analyse syntaxique. . Il tente d'extraire un nombre entier d'une chaîne. Lors de l'analyse, parseInt() lit la chaîne de gauche à droite, en s'arrêtant au premier caractère non numérique. Tous les caractères suivants dans la chaîne sont ignorés.

parseInt() prend également un deuxième argument facultatif, la base ou la base, qui spécifie le système numérique utilisé pour interpréter les chiffres. La base par défaut est 10 (décimal), mais elle peut être définie sur n'importe quel nombre entier compris entre 2 et 36.

Exemples :

parseInt("20px");       // 20
parseInt("10100", 2);   // 20 (binary)
parseInt("2e1");        // 2 (does not parse the "e1")

Number()

Number(), en revanche, est une fonction constructeur qui convertit une chaîne en un nombre, effectuant une conversion de type. Contrairement à parseInt(), Number() tente de convertir la chaîne entière en nombre, même si elle contient des caractères non numériques.

Si la chaîne contient des caractères non numériques, Number() renverra NaN (non -un-numéro). Cependant, il présente des comportements notables dans des cas spécifiques :

  • Il peut gérer la notation exponentielle (par exemple, "2e1") et la convertir en nombre.
  • Il peut détecter et analyser notations octales implicites (par exemple, "010"), mais il peut également être utilisé pour convertir explicitement en octal en utilisant "0o".
  • Il peut gérer les nombres hexadécimaux préfixés par "0x".

Exemples :

Number("20px");       // NaN
Number("2e1");        // 20
Number("010");         // 10
Number("0o10");         // 8
Number("0xF");   // 15

Considérations supplémentaires

  • parseInt() est généralement préférable lorsque vous devez analyser une chaîne comme un nombre entier, tandis que Number() est plus convient pour convertir des valeurs en types numériques.
  • L'opérateur unaire plus ( ) peut également être utilisé pour convertir une chaîne en nombre, ce qui équivaut à utiliser le constructeur Number().
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3