„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 > Wann sollten parseInt() und Number() für die Konvertierung von Zeichenfolgen in Zahlen in JavaScript verwendet werden?

Wann sollten parseInt() und Number() für die Konvertierung von Zeichenfolgen in Zahlen in JavaScript verwendet werden?

Veröffentlicht am 17.11.2024
Durchsuche:276

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

Konvertieren von Zeichenfolgen in Zahlen mit parseInt() und Number()

Beim Konvertieren von Zeichenfolgen in Zahlen in JavaScript sind parseInt zwei häufig verwendete Funktionen () und Number(). Obwohl beide den Zweck der numerischen Konvertierung teilen, unterscheiden sie sich in ihrem Ansatz und Verhalten.

parseInt()

parseInt() führt eine spezifischere Aufgabe aus, die als Parsen bezeichnet wird . Es versucht, eine ganze Zahl aus einer Zeichenfolge zu extrahieren. Beim Parsen liest parseInt() die Zeichenfolge von links nach rechts und stoppt beim ersten Nicht-Ziffer-Zeichen. Alle nachfolgenden Zeichen in der Zeichenfolge werden ignoriert.

parseInt() akzeptiert außerdem ein optionales zweites Argument, die Basis oder Basis, die das Zahlensystem angibt, das zur Interpretation der Ziffern verwendet wird. Die Standardbasis ist 10 (dezimal), kann aber auf eine beliebige ganze Zahl zwischen 2 und 36 gesetzt werden.

Beispiele:

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

Number()

Number() hingegen ist eine Konstruktorfunktion, die einen String konvertiert in eine Zahl und führt eine Typkonvertierung durch. Im Gegensatz zu parseInt() versucht Number(), die gesamte Zeichenfolge in eine Zahl umzuwandeln, auch wenn sie nicht numerische Zeichen enthält.

Wenn die Zeichenfolge nicht numerische Zeichen enthält, gibt Number() NaN zurück (Not -eine-Zahl). In bestimmten Fällen weist es jedoch einige bemerkenswerte Verhaltensweisen auf:

  • Es kann Exponentialschreibweise (z. B. „2e1“) verarbeiten und in eine Zahl umwandeln.
  • Es kann erkennen und analysieren implizite oktale Notationen (z. B. „010“), kann aber auch zur expliziten Konvertierung in oktale mit „0o“ verwendet werden.
  • Es kann Hexadezimalzahlen mit dem Präfix „0x“ verarbeiten.

Beispiele:

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

Zusätzliche Überlegungen

  • parseInt() wird im Allgemeinen bevorzugt, wenn Sie eine Zeichenfolge als ganze Zahl analysieren müssen, während Number() mehr ist Geeignet zum Konvertieren von Werten in numerische Typen.
  • Der unäre Plusoperator ( ) kann auch zum Konvertieren einer Zeichenfolge in eine Zahl verwendet werden, was der Verwendung des Number()-Konstruktors entspricht.
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