Heim > Artikel > Web-Frontend > parseInt() vs. Number(): Wie unterscheiden sie sich bei der Konvertierung von Zeichenfolgen in Zahlen?
Verstehen der Nuancen von parseInt() und Number() bei der Konvertierung von Zeichenfolgen in Zahlen
Beim Umgang mit Zeichenfolgen in Zahlen Bei der Konvertierung in JavaScript ist es wichtig, die Unterschiede zwischen parseInt() und Number() zu verstehen. Diese beiden Methoden zeigen unterschiedliche Verhaltensweisen bei der Verarbeitung von Zeichenfolgeneingaben.
Semantische Unterschiede: Parsing vs. Typkonvertierung
parseInt() führt das Parsen durch, was bedeutet, dass es einen Teil davon interpretiert die Zeichenfolge als Zahl, wobei alle nachfolgenden Zeichen ignoriert werden, die nicht in das angegebene Zahlensystem passen. Number() hingegen führt eine Typkonvertierung durch und versucht, die gesamte Zeichenfolge in einen numerischen Wert umzuwandeln.
Beispiele:
// Parsing parseInt("20px"); // 20 parseInt("10100", 2); // 20 parseInt("2e1"); // 2 // Type conversion Number("20px"); // NaN Number("2e1"); // 20 (exponential notation)
Nachfolgende Zeichen und implizite Oktale
parseInt() ignoriert nachfolgende Zeichen, die dies nicht tun entsprechen numerischen Ziffern in der angegebenen Basis. Der Number()-Konstruktor erkennt jedoch keine impliziten Oktalzahlen (Zahlen mit vorangestellter 0, die ein oktales Zahlensystem darstellen). Explizite oktale Notation (0o) wird von Number() erkannt.
// Implicit octal detection Number("010"); // 10 Number("0o10") // 8 // Parsed as octal by default parseInt("010"); // 8 parseInt("010", 10); // 10 (force decimal radix)
Hexadezimale Notation und unärer Plusoperator
Sowohl parseInt() als auch Number() können damit umgehen Hexadezimale Schreibweise, Zahlen werden mit einem führenden 0x-Präfix dargestellt. Darüber hinaus kann der Unary Plus Operator ( ) auch zur Durchführung einer numerischen Typkonvertierung verwendet werden, was der Verwendung des Number()-Konstruktors entspricht.
// Hexadecimal notation Number("0xF"); // 15 parseInt("0xF"); //15 // Unary Plus Operator +"2e1"; // 20 +"0xF"; // 15 +"010"; // 10
Durch das Verständnis der spezifischen Eigenschaften von parseInt() und Number() Entwickler können bei der Konvertierung von Zeichenfolgen in Zahlen in JavaScript fundierte Entscheidungen treffen und so genaue und zuverlässige Ergebnisse gewährleisten.
Das obige ist der detaillierte Inhalt vonparseInt() vs. Number(): Wie unterscheiden sie sich bei der Konvertierung von Zeichenfolgen in Zahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!