Maison > Article > interface Web > parseInt() vs Number() : en quoi diffèrent-ils dans la conversion chaîne-nombre ?
Comprendre les nuances de parseInt() et Number() dans la conversion chaîne en nombre
Lorsqu'il s'agit de chaîne en nombre conversion en JavaScript, il est essentiel de comprendre les différences entre parseInt() et Number(). Ces deux méthodes présentent des comportements distincts dans la gestion des entrées de chaîne.
Différences sémantiques : analyse et conversion de type
parseInt() effectue une analyse, ce qui signifie qu'elle interprète une partie de la chaîne sous forme de nombre, tout en ignorant les caractères de fin qui ne correspondent pas au système numérique désigné. Number(), quant à lui, effectue une conversion de type, en essayant de convertir la chaîne entière en une valeur numérique.
Exemples :
// Parsing parseInt("20px"); // 20 parseInt("10100", 2); // 20 parseInt("2e1"); // 2 // Type conversion Number("20px"); // NaN Number("2e1"); // 20 (exponential notation)
Caractères de fin et octaux implicites
parseInt() ignore les caractères de fin qui ne correspondent pas en chiffres numériques dans la base spécifiée. Le constructeur Number(), cependant, ne détecte pas les octaux implicites (nombres préfixés par un 0, représentant un système numérique octal). La notation octale explicite (0o) est reconnue par Number().
// Implicit octal detection Number("010"); // 10 Number("0o10") // 8 // Parsed as octal by default parseInt("010"); // 8 parseInt("010", 10); // 10 (force decimal radix)
Notation hexadécimale et opérateur unaire Plus
parseInt() et Number() peuvent gérer Notation hexadécimale, nombres représentés par un préfixe 0x en tête. De plus, l'opérateur Unary Plus ( ) peut également être utilisé pour effectuer une conversion de type numérique, ce qui équivaut à l'utilisation du constructeur Number().
// Hexadecimal notation Number("0xF"); // 15 parseInt("0xF"); //15 // Unary Plus Operator +"2e1"; // 20 +"0xF"; // 15 +"010"; // 10
En comprenant les caractéristiques spécifiques de parseInt() et Number(), les développeurs peuvent prendre des décisions éclairées lors de la conversion de chaînes en nombres en JavaScript, garantissant ainsi des résultats précis et fiables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!