In JavaScript können Sie Zeichenfolgenwerte mit den folgenden drei Methoden in Zahlen umwandeln:
1. Rufen Sie Number() auf, um eine Werttypkonvertierung für die Zeichenfolge durchzuführen.
2.parseInt().
3.parseFloat().
Nummer()
Die Verwendung der Number()-Funktion zum Umwandeln einer Zeichenfolge ist der direkteste Weg. Dieser Ansatz hat jedoch eine Einschränkung: Wenn die Zeichenfolge nach dem Abschneiden der führenden und nachfolgenden Leerzeichen keine reine numerische Zeichenfolge ist, ist das endgültige Rückgabeergebnis NaN. David Flanagans JavaScript – The Definitive Guide 6. Auflage, Abschnitt 3.8.2 erwähnte, dass die Funktion bei Verwendung der Number()-Funktion für die Konvertierung von Zeichenfolgen in Zahlen nur Dezimalzeichenfolgen akzeptiert, die Testergebnisse zeigen jedoch, dass dies nicht der Fall ist. Die Funktion Number() kann „0xff“ als Parameter akzeptieren und in den Wert 255 umwandeln.
console.log(Number(a));//42
console.log(Number(b));//NaN
console.log(Number(c));//255
console.log(Number(d));//42.34
parseInt()
Die Funktion parseInt() kann eine Zeichenfolge in eine Ganzzahl umwandeln. Im Vergleich zur Funktion Number() kann die Funktion parseInt() nicht nur reine numerische Zeichenfolgen analysieren, sondern auch partielle numerische Zeichenfolgen, die mit Zahlen beginnen (keine Ziffern). ). Einige Zeichenfolgen werden während des Konvertierungsvorgangs entfernt. Es ist erwähnenswert, dass beim Parsen einer Gleitkommazeichenfolge durch die Funktion parseInt() die für die Rundungsoperation verwendete Methode „truncate“ lautet.
Zusätzlich zum String als ersten Parameter kann die Funktion parseInt() auch eine beliebige Ganzzahl zwischen 2 und 36 als zweiten Parameter akzeptieren, der zur Angabe der Basiszahl während des Konvertierungsprozesses verwendet wird.
console.log(parseInt(b));//42
console.log(parseInt(x));//-12
console.log(parseInt(y));//15
console.log(parseInt(c));//255
console.log(parseInt(z, 2));//42
console.log(parseInt(".1"));//NaN
parseFloat()
Wie parseInt() kann auch parseFloat() einen Teil der numerischen Zeichenfolge analysieren, die mit einer Zahl beginnt (der nicht numerische Teil der Zeichenfolge wird während des Konvertierungsprozesses entfernt). Im Gegensatz zu parseInt() kann parseFloat() eine Zeichenfolge in eine Gleitkommazahl umwandeln, gleichzeitig akzeptiert parseFloat() jedoch nur einen Parameter und kann nur Dezimalzeichenfolgen verarbeiten.
console.log(parseFloat(c));//0, weil „0xff“ mit 0 beginnt
console.log(parseFloat(d));//42.34
console.log(parseFloat(".1"));//0.1