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:
Beispiele:
Number("20px"); // NaN Number("2e1"); // 20 Number("010"); // 10 Number("0o10"); // 8 Number("0xF"); // 15
Zusätzliche Überlegungen
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