„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > parseInt() vs. Number(): Wie unterscheiden sie sich bei der Konvertierung von Zeichenfolgen in Zahlen?

parseInt() vs. Number(): Wie unterscheiden sie sich bei der Konvertierung von Zeichenfolgen in Zahlen?

Veröffentlicht am 20.11.2024
Durchsuche:260

parseInt() vs. Number(): How Do They Differ in String-to-Number Conversion?

Die Nuancen von parseInt() und Number() bei der String-zu-Zahlen-Konvertierung verstehen

Beim Umgang mit String-zu-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 eine Analyse 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)

Nachgestellte Zeichen und implizite Oktale

parseInt() ignoriert nachgestellte Zeichen, die keinen numerischen Ziffern in der angegebenen Basis entsprechen. 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 hexadezimale Notation verarbeiten, Zahlen werden mit einem führenden Wert dargestellt 0x-Präfix. 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() können Entwickler fundierte Entscheidungen bei der Konvertierung von Zeichenfolgen in Zahlen in JavaScript treffen und so genaue und zuverlässige Ergebnisse gewährleisten.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3