Konvertieren einer Zeichenkette in eine Zahl in JavaScript

Nithin Krishnan 12 Oktober 2023
  1. Verwenden Sie die Funktion Number(), um eine Zeichenkette in JavaScript in eine Zahl zu konvertieren
  2. Verwenden der Funktion parseInt() zum Konvertieren einer Zeichenkette in eine Ganzzahl in JavaScript
  3. Verwenden Sie das Objekt Math, um einen String in JavaScript in Integer zu konvertieren
  4. Fazit
Konvertieren einer Zeichenkette in eine Zahl in JavaScript

Wir müssen verschiedene Szenarien gehabt haben, um eine Zahl umzuwandeln. Zum Beispiel die Daten, die von einer API oder einer Datenbankabfrage in einem Zeichenkettenformat an eine Zahl abgerufen werden. Da Zeichenketten unterschiedlich bearbeitet werden, kann es erforderlich sein, diese Zeichenketten in ein Zahlenformat zu konvertieren, um mühelos arithmetische Operationen an ihnen ausführen zu können. Hier einige Möglichkeiten:

  • Number("123")
  • parseInt("123")
  • Math.floor("123.12")
  • Math.round("123")

Verwenden Sie die Funktion Number(), um eine Zeichenkette in JavaScript in eine Zahl zu konvertieren

Die Number() ist eine Funktion des Konstrukts Number, mit der andere Datentypen in ein Zahlenformat konvertiert werden können (gemäß MDN Docs). Es gibt NaN zurück, wenn der Eingabeparameter entweder undefiniert oder nicht in eine Zahl konvertierbar ist. Beispielsweise:

console.log(Number('246'))
console.log(Number('246.5'))
console.log(Number(undefined))
console.log(Number('Hello'))

Ausgabe:

246
246.5
NaN
NaN

Verwenden der Funktion parseInt() zum Konvertieren einer Zeichenkette in eine Ganzzahl in JavaScript

Eine andere Möglichkeit, mit Zeichenkettenummern umzugehen, ist die Verwendung der Methode parseInt() von JavaScript. parseInt() akzeptiert zwei Argumente, eines ist die Zeichenkette, die konvertiert werden muss, und das andere ist die radix (bedeutet die Basis). Die meisten Zahlen, mit denen wir uns in unserem täglichen Leben beschäftigen, liegen normalerweise auf der Basis von 10, was einen Dezimalwert bedeutet. In den meisten Fällen müssen wir den Radix nicht angeben, da der Standardwert 10 ist.

console.log(parseInt('123'));
console.log(parseInt('abc'));
console.log(parseInt('-123'));
console.log(parseInt('100.50'));

Ausgabe:

123
NaN
-123
100

parseInt("100.50") gibt 100 statt 100.50 zurück, da die Eingabenummer in eine Ganzzahl konvertiert wird. Beachten Sie daher bei der Verwendung von parseInt() die Tatsache.

parseInt() kann auch hexadezimale Werte und Werte mit den verschiedenen Basisnummernsystemen wie dem Binärsystem, dem Oktalsystem usw. konvertieren. Weitere Informationen finden Sie in den Dokumenten. In ähnlicher Weise können wir parseFloat() verwenden, um eine Zeichenkette in eine Gleitkommazahl zu konvertieren.

Verwenden Sie das Objekt Math, um einen String in JavaScript in Integer zu konvertieren

Math ist ein in JavaScript integriertes Objekt, das Methoden für komplexe mathematische Operationen enthält. Es funktioniert mit der Datentypnummer. Es werden jedoch nur wenige Methoden dieses eingebauten Objekts verwendet, um die Zeichenkette in eine Ganzzahl zu konvertieren. Beispielsweise,

console.log(Math.ceil('123'));
console.log(Math.floor('300'));
console.log(Math.abs('450'));

Ausgabe:

123
300
450

Es gibt jedoch eine Gefahr, wenn die Konvertierungsmethoden Math verwendet werden. Für Gleitkommawerte können wir sie nicht verwenden, da sie diese in eine Ganzzahl konvertieren. Daher verlieren wir den Dezimalteil des Wertes.

  • Math.ceil("220.5"): gibt 221 zurück. Es nimmt den Höchstwert an und approximiert die Dezimalzahl mit dem nächsten ganzzahligen Wert, der 221 ist. Daher können wir es nicht verwenden, um 220.5 zu erhalten. Verwenden Sie in solchen Szenarien parseFloat().
  • Math.floor("220.5"): gibt 220 zurück. Im Vergleich zur Funktion ceil() gibt floor() den vorherigen ganzzahligen Wert zurück. Daher würde Math.floor() für Gleitkommazahlenwerte nicht funktionieren.
  • Math.abs("450"): Kann verwendet werden, da es 450 zurückgibt, aber mit negativen ganzzahligen Werten nicht funktioniert. Zum Beispiel wird der folgende Unterschied unseren Zweck nicht erfüllen, wenn es sich um negative ganzzahlige Werte handelt. Gemäß den folgenden Szenarien:
console.log(Maths.abs('240.64'))
console.log(Math.abs('-240.25'))

Ausgabe:

240.64 // The decimal value of .64 is captured here
240.25 // -240.25 is transformed to 240.25

Fazit

Abhängig von dem Wert, den wir von der Zeichenkettennummer erwarten, ist die beste Option die Verwendung der Methode Number(). Wenn Sie nur mit ganzzahligen Werten spielen, empfehlen wir die Verwendung von parseInt(). Verwenden Sie das in JavaScript integrierte Math-Objekt mit Bedacht, um eine Zeichenkettennummer zu konvertieren, da dies aufgrund der von uns verwendeten Methode schwierig sein kann.

Verwandter Artikel - JavaScript String

Verwandter Artikel - JavaScript Integer