JavaScript: Datentypkonvertierung. Konvertieren von Datentypen in JavaScript Javascript konvertiert eine Zahl in eine Zeichenfolge

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

JavaScript verfügt über zwei integrierte Funktionen zum Konvertieren von Zeichenfolgen in Zahlen: parseFloat() und parseInt() .

parseFloat() nimmt als Argument einen String, der in einen numerischen Typ konvertiert werden soll, und gibt eine Float-Zahl zurück. Die Nummer muss am Anfang der Zeile stehen. Sollten in der Zeile nach der Zahl noch weitere Zeichen stehen, werden diese abgeschnitten. Der Bruchteil einer Zahl muss durch einen Punkt getrennt geschrieben werden (ein Komma wird nicht als Trennzeichen wahrgenommen). Wenn parseFloat() die Zeichenfolge nicht konvertieren kann, wird NaN zurückgegeben.

Die Funktion kann auch „die Zahl n multipliziert mit 10 hoch x“ verarbeiten, was in der Programmierung normalerweise mit dem Buchstaben E geschrieben wird, zum Beispiel: 0,5E6 oder 0,5E+6. Der Grad kann auch negativ sein: 0,5E-6, was 0,5*10^-6 oder 0,5/1000000 entspricht.

ParseFloat(""3.78kg"") // 3.78 parseFloat(""kg33"") // NaN parseFloat(""0004.111"") // 4.111 parseFloat(""0x66"") // 0 parseFloat("". 5"") // 0.5 parseFloat(""-.5"") // -0.5 parseFloat(""0.5e6"") // 500000 parseFloat(""0.03E+2"") // 3 parseFloat(" "3E-4"") // 0,0003 parseFloat(""-3E-4"") // -0,0003

Die Funktion parseInt(string[, radix]) nimmt einen String als erstes Argument, analysiert ihn und gibt eine Ganzzahl (Typ Ganzzahl) zurück. Die Funktion versucht, das Zahlensystem zu analysieren, in dem die Zahl im Quellstring geschrieben ist (zum Beispiel dezimal, oktal oder hexadezimal – aber nicht nur diese). Sie können das Zahlensystem auch explizit angeben, indem Sie es als zweiten Parameter radix übergeben. Der Radix-Parameter kann eine beliebige Zahl zwischen 2 und 36 annehmen (in Systemen mit mehr als 10 werden Buchstaben des englischen Alphabets von A bis Z verwendet).

Die Funktion verarbeitet keine Zahlen wie 1.5e6 wie parseFloat() .

Bitte lesen Sie die folgenden Beispiele, um nicht auf die Fallstricke zu stoßen, die bei der Ausführung der Funktion parseInt() verborgen sind.

ParseInt(""25"") // 25 parseInt(""-25"") // -25 parseInt(""45.12"") // 45 parseInt(""045"",10) // 45 parseInt( ""70"",8) // 56 (70 im Oktalformat ist 56 im Dezimalformat) parseInt(""070"") // 56 (WICHTIG!!! Null zuerst führt dazu, dass die Funktion die Zeichenfolge als Oktalzahl analysiert ) parseInt(" "88"",8) // NaN (im Oktalsystem gibt es keine Ziffer 8) parseInt(""a1"") // NaN (WICHTIG!!! Die Standardfunktion behandelt die Zahl nicht als hexadezimal, wenn es nicht an den Anfangszeilen hinzugefügt wird 0x) parseInt(""a1"",16) // 161 (das Zahlensystem wird hier explizit angegeben) parseInt(""0xa1"") // 161 (korrektes hexadezimales Zahlenformat , Sie müssen den zweiten Parameter nicht angeben) parseInt( ""099"") // 0 (WICHTIG!!! Die Zahl wird als Oktalzahl behandelt, enthält aber ungültige Zeichen) parseInt(""0.5e6"") / / 0 (WICHTIG!!! funktioniert nicht wie parseFloat) parseInt("" ZZ"",36) // 1295 parseInt(""-FF"") // NaN parseInt(""-FF"",16) / / -255

Wenn Sie Benutzereingaben aus einem Textfeld analysieren, verwenden Sie immer parseInt() zusammen mit einem zweiten Basisparameter, um Ihren Code vor unerwarteten Ergebnissen zu schützen.

Es spielt keine Rolle, welcher Variablentyp im Ausdruck verwendet wird. Wenn der Ausdruck mathematisch ist, werden alle seine Variablen automatisch als numerisch interpretiert. Wenn Strings verarbeitet werden, werden alle „Teilnehmer“ des Ausdrucks als Strings behandelt. Die Herausforderung der Konvertierung von Zeichenfolgen in Zahlen in JavaScript besteht jedoch in einem viel umfassenderen Kontext.

JavaScript-Methoden zum Konvertieren von Zeichenfolgen in Zahlen

Das Arsenal an Methoden zur Umwandlung von Strings in Zahlen ist nicht groß, reicht aber in allen einfachen Fällen aus. Hier ist JavaScript (insbesondere für Anfänger) der Weg vom Einfachen zum Komplexen anhand praktischer Beispiele.

Sie könnten interessiert sein an:

Das Beispiel beschreibt vier verschiedene Linien. Im ersten Ausgabeblock der jeweilige Typ variable Funktion typeof ist als String definiert. Jede Zeichenfolge wird dann ganz einfach in eine Zahl umgewandelt. Im zweiten Ausgabeblock sind Änderungen der Variablen nach der Konvertierung sichtbar, ihr Typ ist zu einer Zahl geworden. Konvertierungsbeispiel JavaScript parseFloat Besonders bezeichnend: Es war „12e+3“, daraus wurde „12000“.

Die Änderungen beim Konvertieren einer Zeichenfolge in eine Zahl können erheblich sein! Aber nur die ersten Zeichen zählen: Sie müssen numerisch sein. Wenn keine Ziffern vorhanden sind, ist das Ergebnis NaN.

Die umgekehrte Konvertierung einer Zeichenfolge, die zu einer Zahl „wird“, ist nicht immer dieselbe Zeichenfolge. Anhand dieses Punktes kann die Richtigkeit der Eingabe numerischer Informationen überprüft werden.

| |

JavaScript unterteilt Daten in Typen, wodurch Sie Daten gruppieren und bestimmen können, welche Werte zugewiesen und welche Vorgänge ausgeführt werden können.

Obwohl JavaScript aufgrund der Typumwandlung viele Werte automatisch konvertiert, ist es am besten, Datentypen manuell zu konvertieren, um die erwarteten Ergebnisse zu erzielen.

In diesem Tutorial erfahren Sie, wie Sie primitive Typen konvertieren JavaScript-Daten, einschließlich Zahlen, Zeichenfolgen und booleschen Elementen.

Implizite Konvertierung

Die Programmiersprache JavaScript ist sehr gut im Umgang mit unerwarteten Werten. JavaScript lehnt unerwartete Werte nicht ab, sondern versucht vielmehr, sie zu konvertieren. Diese implizite Konvertierung wird auch Typzwang genannt.

Bestimmte Methoden konvertieren Werte automatisch, um sie zu verwenden. Die Methode „alert()“ verwendet einen String als Parameter und konvertiert andere Typen automatisch in Strings. Sie können dieser Methode also einen numerischen Wert übergeben:

Wenn Sie diesen String ausführen, gibt der Browser ein Popup mit dem Wert 8,5 zurück, der bereits in einen String konvertiert ist.

Durch die Verwendung von Zahlenfolgen zusammen mit mathematischen Operatoren werden Sie feststellen, dass JavaScript Werte verarbeiten kann, indem es Zeichenfolgen implizit in Zahlen umwandelt:

// Subtraktion
"15" - "10";
5
// Modul
"15" % "10";
5

Aber nicht alle Betreiber arbeiten vorhersehbar. Dies gilt insbesondere für den +-Operator: Er führt die Addition von Zahlen und die Verkettung von Zeichenfolgen durch.

// Beim Arbeiten mit Strings führt + eine Verkettung durch
"2" + "3";
"23"

Da der +-Operator viele Verwendungsmöglichkeiten hat, behandelt er in diesem Beispiel die Werte 2 und 3 als Zeichenfolgen, obwohl sie als numerische Zeichenfolgen ausgedrückt werden. Daher kombiniert er die Zeichenfolgen „2“ und „3“ und erhält 23, anstatt 2 und 3 zu addieren und 5 zu erhalten.

Solche Mehrdeutigkeiten treten im Code auf und führen manchmal zu unerwarteten Ergebnissen. Daher ist es besser, Datentypen wann immer möglich explizit zu konvertieren. Dies hilft bei der Codepflege und Fehlerbehandlung.

Konvertieren von Werten in Zeichenfolgen

Um einen Wert explizit in einen String umzuwandeln, rufen Sie die Methode String() oder n.toString() auf.

Versuchen Sie, den booleschen Wert true mit String() in einen String umzuwandeln.

Dadurch wird das String-Literal „true“ zurückgegeben.

Sie können auch versuchen, der Funktion eine Zahl zu übergeben:

Es wird ein String-Literal zurückgegeben:

Versuchen Sie nun, String() mit einer Variablen zu verwenden. Weisen Sie der Odyssey-Variablen einen numerischen Wert zu und verwenden Sie den Operator „typeof“, um den Typ zu überprüfen.

sei Odyssee = 2001;
console.log(typeof odyssey);
Nummer

An dieser Moment Der Variablen odyssey wird der numerische Wert 2001 zugewiesen. Der Operator typeof bestätigt, dass der Wert eine Zahl ist.

Weisen Sie nun die Odyssey-Variable ihrem Äquivalent innerhalb der String()-Funktion zu und verwenden Sie dann typeof, um sicherzustellen, dass der Wert der Variablen erfolgreich von einer Zahl in einen String konvertiert wird.

odyssee = String(odyssee); // „2001“
console.log(typeof odyssey);
Zeichenfolge

Wie Sie sehen können, enthält die Odyssey-Variable jetzt einen String.

Die Funktion n.toString() funktioniert auf ähnliche Weise. Ersetzen Sie n durch eine Variable.

Schläge lassen = 400;
blows.toString();

Die Variable blows enthält die Zeichenfolge.

Anstelle einer Variablen können Sie auch einen Wert in Klammern setzen:

(1776).toString(); // gibt „1776“ zurück
(false).toString(); // gibt „false“ zurück
(100 + 200).toString(); // gibt „300“ zurück

String() und n.toString() konvertieren explizit boolesche und numerische Werte in Strings.

Werte in Zahlen umwandeln

Die Methode Number() kann einen Wert in eine Zahl umwandeln. Oft besteht die Notwendigkeit, aus Zahlen bestehende Zeichenfolgen zu konvertieren, aber manchmal müssen auch boolesche Werte konvertiert werden.

Übergeben Sie beispielsweise die folgende Zeichenfolge an die Number()-Methode:

Die Zeichenfolge wird in eine Zahl umgewandelt und nicht mehr in Anführungszeichen gesetzt.

Sie können einer Variablen auch eine Zeichenfolge zuweisen und diese dann konvertieren.

lass Dalmatiner = „101“;
Zahl(Dalmatiner);
101

Das String-Literal „101“ wurde in die Zahl 101 umgewandelt.

Leerzeichenfolgen oder Leerzeichenfolgen werden in die Zahl 0 umgewandelt.

Nummer(" "); // gibt 0 zurück
Nummer(""); // gibt 0 zurück

Beachten Sie, dass Zeichenfolgen, die nicht aus Zahlen bestehen, in NaN konvertiert werden, was „Not a Number“ bedeutet. Dies gilt auch für durch Leerzeichen getrennte Zahlen.

Number("zwölf"); // gibt NaN zurück
Zahl("20.000"); // gibt NaN zurück
Zahl("2 3"); // gibt NaN zurück
Zahl("11-11-11"); // gibt NaN zurück

In booleschen Daten ist „falsch“ 0 und „wahr“ 1.

Werte in boolesche Werte umwandeln

Um Zahlen oder Strings in boolesche Werte umzuwandeln, wird die Methode Boolean() verwendet. Es hilft beispielsweise festzustellen, ob der Benutzer Daten in ein Textfeld eingibt oder nicht.

Jeder Wert, der als leer interpretiert wird, z. B. die Zahl 0, leere Zeile, undefinierte, NaN- oder Nullwerte werden in „false“ konvertiert.

Boolean(0); // gibt false zurück
Boolean(""); // gibt false zurück
Boolean(undefiniert); // gibt false zurück
Boolean(NaN); // gibt false zurück
Boolean(null); // gibt false zurück

Andere Werte, einschließlich Zeichenfolgenliterale, die aus Leerzeichen bestehen, werden in „true“ konvertiert.

Boolean(2000); // gibt true zurück
Boolean(" "); // gibt true zurück
Boolean("Maniacs"); // gibt true zurück

Beachten Sie, dass das String-Literal „0“ in „true“ konvertiert wird, da es sich nicht um einen leeren Wert handelt:

Boolean("0"); // gibt true zurück

Durch die Konvertierung von Zahlen und Zeichenfolgen in boolesche Werte können Sie Daten auswerten binäres System und kann zur Steuerung des Programmflusses verwendet werden.

Abschluss

Jetzt wissen Sie, wie JavaScript Datentypen konvertiert. Typumwandlung führt häufig dazu, dass Daten implizit konvertiert werden, was zu unerwarteten Werten führen kann. Um dies sicherzustellen, wird empfohlen, die Datentypen explizit zu konvertieren korrekte Bedienung Programme.

Die Funktion parseInt() analysiert ein Zeichenfolgenargument und gibt eine Ganzzahl der angegebenen Basis (der Basis in mathematischen Zahlensystemen) zurück.

Die Quelle für dieses interaktive Beispiel ist in einem GitHub-Repository gespeichert. Wenn Sie zum interaktiven Beispielprojekt beitragen möchten, klonen Sie bitte https://github.com/mdn/interactive-examples und senden Sie uns eine Pull-Anfrage.

Syntax parseInt(string , radix) Parameter string Der zu analysierende Wert. Wenn dieses Argument keine Zeichenfolge ist, wird es mithilfe der abstrakten ToString-Operation in eine Zeichenfolge konvertiert. Führende Leerzeichen in diesem Argument werden ignoriert. radix Optional Eine Ganzzahl zwischen 2 und 36, die die Basis (die Basis in mathematischen Zahlensystemen) der Zeichenfolge darstellt. Seien Sie vorsichtig – das tut es nicht Standardwert ist 10 ! Das erklärt ausführlicher, was passiert, wenn Radix nicht angegeben wird. Rückgabewert

Eine aus der angegebenen Zeichenfolge analysierte Ganzzahl.

Wenn die Basis kleiner als 11 ist und das erste Nicht-Leerzeichen nicht in eine Zahl umgewandelt werden kann, wird NaN zurückgegeben.

Beschreibung

Die parseInt-Funktion wandelt ihr erstes Argument in eine Zeichenfolge um, analysiert diese Zeichenfolge und gibt dann eine Ganzzahl oder NaN zurück.

Wenn nicht NaN , ist der Rückgabewert die Ganzzahl, die das erste Argument ist, das als Zahl in der angegebenen Basis angenommen wird. (Zum Beispiel wird eine Basiszahl von 10 von einer Dezimalzahl umgewandelt, 8 von einer Oktalzahl, 16 von einer Hexadezimalzahl usw.)

Bei Wurzelzahlen über 10 geben die Buchstaben des englischen Alphabets Ziffern größer als 9 an. Beispielsweise werden für Hexadezimalzahlen (Basis 16) A bis F verwendet.

Wenn parseInt auf ein Zeichen trifft, das in der angegebenen Basis keine Zahl ist, ignoriert es dieses und alle nachfolgenden Zeichen und gibt den bis zu diesem Punkt analysierten ganzzahligen Wert zurück. parseInt kürzt Zahlen auf ganzzahlige Werte. Führende und nachfolgende Leerzeichen sind erlaubt.

Da einige Zahlen das Zeichen e in ihrer Zeichenfolgendarstellung verwenden (z. B. 6.022e23 für 6.022 × 10 23), führt die Verwendung von parseInt zum Abschneiden von Zahlen bei sehr großen oder sehr kleinen Zahlen zu unerwarteten Ergebnissen. parseInt sollte nicht als Ersatz für Math.floor() verwendet werden.

parseInt versteht genau zwei Zeichen: + für positiv und – für negativ (seit ECMAScript 1). Dies erfolgt als erster Schritt beim Parsen, nachdem Leerzeichen entfernt wurden. Wenn keine Anzeichen gefunden werden, fährt der Algorithmus mit dem folgenden Schritt fort; Andernfalls wird das Vorzeichen entfernt und die Zahlenanalyse für den Rest der Zeichenfolge ausgeführt.

Wenn radix undefiniert, 0 oder unspezifiziert ist, geht JavaScript von Folgendem aus:

  • Wenn die Eingabezeichenfolge mit „0x“ oder „0X“ (einer Null, gefolgt von Klein- oder Großbuchstaben X) beginnt, wird angenommen, dass die Basis 16 ist und der Rest der Zeichenfolge als Hexadezimalzahl geparst wird.
  • Wenn die Eingabezeichenfolge mit „0“ (einer Null) beginnt, wird davon ausgegangen, dass die Basis 8 (oktal) oder 10 (dezimal) ist. Welche Basis genau gewählt wird, hängt von der Implementierung ab. ECMAScript 5 stellt klar, dass 10 (dezimal) sollen verwendet werden, aber noch nicht alle Browser unterstützen dies. Geben Sie aus diesem Grund bei der Verwendung von parseInt immer eine Basis an.
  • Wenn die Eingabezeichenfolge mit einem anderen Wert beginnt, ist die Basis 10 (dezimal).
  • Wenn das erste Zeichen nicht in eine Zahl umgewandelt werden kann, gibt parseInt NaN zurück, es sei denn, die Basis ist größer als 10.

    Aus arithmetischen Gründen ist der NaN-Wert keine Zahl in irgendeiner Basis. Sie können die Funktion isNaN aufrufen, um festzustellen, ob das Ergebnis von parseInt NaN ist. Wenn NaN an arithmetische Operationen übergeben wird, ist das Operationsergebnis ebenfalls NaN.

    Um eine Zahl in ihr String-Literal in einer bestimmten Basis umzuwandeln, verwenden Sie thatNumber .toString(radix) .

    Beispiele für die Verwendung von parseInt

    Die folgenden Beispiele geben alle 15 zurück:

    ParseInt("0xF", 16) parseInt("F", 16) parseInt("17", 8) parseInt(021, 8) parseInt("015", 10) // aber `parseInt(015, 10)` wird Rückgabe 13 parseInt(15.99, 10) parseInt("15,123", 10) parseInt("FXX123", 16) parseInt("1111", 2) parseInt("15 * 3", 10) parseInt("15e2", 10) parseInt("15px", 10) parseInt("12", 13)

    Die folgenden Beispiele geben alle NaN zurück:

    ParseInt("Hello", 8) // Überhaupt keine Zahl parseInt("546", 2) // Andere Ziffern als 0 oder 1 sind für binäre Basis ungültig

    Die folgenden Beispiele geben alle -15 zurück:

    ParseInt("-F", 16) parseInt("-0F", 16) parseInt("-0XF", 16) parseInt(-15.1, 10) parseInt("-17", 8) parseInt("-15", 10) parseInt("-1111", 2) parseInt("-15e1", 10) parseInt("-12", 13)

    Die folgenden Beispiele geben alle 4 zurück:

    ParseInt(4.7, 10) parseInt(4.7 * 1e22, 10) // Sehr große Zahl wird zu 4 parseInt(0.00000000000434, 10) // Sehr kleine Zahl wird zu 4

    Das folgende Beispiel gibt 224 zurück:

    ParseInt("0e0", 16) parseInt("123_456") // 123

    Oktalinterpretationen ohne Radix

    Obwohl von ECMAScript 3 abgeraten und von ECMAScript 5 verboten, interpretieren viele Implementierungen eine numerische Zeichenfolge, die mit einer führenden 0 beginnt, als Oktalzeichenfolge. Das Folgende kann ein oktales Ergebnis oder ein dezimales Ergebnis haben. Geben Sie immer einen Basiswert an, um dieses unzuverlässige Verhalten zu vermeiden.

    ParseInt("0e0") // 0 parseInt("08") // 0, da „8“ keine Oktalziffer ist.

    ECMAScript 5 entfernt die Oktalinterpretation

    Die ECMAScript 5-Spezifikation der Funktion parseInt erlaubt es Implementierungen nicht mehr, Zeichenfolgen, die mit einem 0-Zeichen beginnen, als Oktalwerte zu behandeln. ECMAScript 5 besagt:

    Die Funktion parseInt erzeugt einen ganzzahligen Wert, der durch die Interpretation des Inhalts des Zeichenfolgenarguments gemäß der angegebenen Basis bestimmt wird. Führende Leerzeichen in der Zeichenfolge werden ignoriert. Wenn die Basis undefiniert oder 0 ist, wird davon ausgegangen, dass sie 10 ist, es sei denn, die Zahl beginnt mit den Zeichenpaaren 0x oder 0X. In diesem Fall wird eine Basis von 16 angenommen.

    Dies unterscheidet sich von ECMAScript 3, von dem abgeraten wurde, das jedoch eine oktale Interpretation zuließ.

    Viele Implementierungen haben dieses Verhalten seit 2013 nicht übernommen, und da ältere Browser unterstützt werden müssen, geben Sie immer einen radix an.

    Eine strengere Analysefunktion

    Manchmal ist es nützlich, eine strengere Methode zum Parsen von Ganzzahlen zu haben.

    Reguläre Ausdrücke können helfen:

    Funktion filterInt(value) ( ​​​​if (/^[-+]?(\d+|Infinity)$/.test(value)) ( return Number(value) ) else ( return NaN ) ) console.log(filterInt( "421 ")) // 421 console.log(filterInt("-421")) // -421 console.log(filterInt("+421")) // 421 console.log(filterInt("Infinity")) // Infinity console.log(filterInt("421e+0")) // NaN console.log(filterInt("421hop")) // NaN console.log(filterInt("hop1.61803398875")) // NaN console .log (filterInt("1.61803398875")) // NaN

    Spezifikationen Kommentar zum Spezifikationsstatus
    ECMAScript 1. Auflage (ECMA-262) Standard Erste Definition.
    ECMAScript 5.1 (ECMA-262)
    Standard
    ECMAScript 2015 (6. Auflage, ECMA-262)
    Die Definition von „parseInt“ in dieser Spezifikation.
    Standard
    Neuester ECMAScript-Entwurf (ECMA-262)
    Die Definition von „parseInt“ in dieser Spezifikation.
    Entwurf
    Browser-Kompatibilität

    Die Kompatibilitätstabelle auf dieser Seite wird aus strukturierten Daten generiert. Wenn Sie zu den Daten beitragen möchten, schauen Sie sich bitte https://github.com/mdn/browser-compat-data an und senden Sie uns eine Pull-Anfrage.

    Kompatibilitätsdaten auf GitHub aktualisieren

    Desktop-Mobilserver Chrome Edge Firefox Internet Explorer Opera Safari Android-Webansicht Chrome für Android Firefox für Android Opera für Android Safari auf iOS Samsung Internet Node.jsparseInt Analysiert Zeichenfolgen mit führenden Nullen als Dezimalzahlen und nicht als Oktalzeichenfolgen
    Chrome Volle Unterstützung 1Edge Volle Unterstützung 12Firefox Volle Unterstützung 1IE Volle Unterstützung 3Opera Volle Unterstützung JaSafari Volle Unterstützung JaWebView Android Volle Unterstützung 1Chrome Android Volle Unterstützung 18Firefox Android Volle Unterstützung 4Safari iOS Volle Unterstützung JaSamsung Internet Android Volle Unterstützung 1.0nodejs Volle Unterstützung Ja
    Chrome Volle Unterstützung 23Edge Volle Unterstützung 12Volle Unterstützung für Firefox 21IE Volle Unterstützung 9Opera Volle Unterstützung JaSafari Volle Unterstützung 6WebView Android Volle Unterstützung 4.4Chrome Android Volle Unterstützung 25Firefox Android Volle Unterstützung 21Opera Android Volle Unterstützung JaSafari iOS Volle Unterstützung 6Samsung Internet Android Volle Unterstützung Janodejs Volle Unterstützung Ja

    Letzte Aktualisierung: 01.11.2015

    Oft besteht die Notwendigkeit, Daten in andere umzuwandeln. Zum Beispiel:

    Var-Nummer1 = „46“; var number2 = "4"; var result = Nummer1 + Nummer2; console.log(result); //464

    Beide Variablen repräsentieren Strings, genauer gesagt String-Darstellungen von Zahlen. Und am Ende erhalten wir nicht die Zahl 50, sondern die Zeichenfolge 464. Aber es wäre schön, wenn man sie auch addieren, subtrahieren und im Allgemeinen wie bei gewöhnlichen Zahlen funktionieren könnte.

    In diesem Fall können wir Konvertierungsoperationen verwenden. Um eine Zeichenfolge in eine Zahl umzuwandeln, verwenden Sie die Funktion parseInt():

    Var-Nummer1 = „46“; var number2 = "4"; var result = parseInt(number1) + parseInt(number2); console.log(result); // 50

    Um Zeichenfolgen zu konvertieren Bruchzahlen Die Funktion parseFloat() wird verwendet:

    Var-Nummer1 = „46,07“; var number2 = "4,98"; var result = parseFloat(number1) + parseFloat(number2); console.log(result); //51.05

    In diesem Fall kann die Zeile gemischten Inhalt haben, zum Beispiel „123hello“, d. h. in diesem Fall sind es Zahlen, aber auch normale Zeichen. Aber die Methode parseInt() wird trotzdem versuchen, die Konvertierung durchzuführen:

    Var num1 = "123hello"; var num2 = parseInt(num1); console.log(num2); // 123

    Wenn die Konvertierung der Methode fehlschlägt, gibt sie NaN (Not a Number) zurück, was darauf hinweist, dass die Zeichenfolge keine Zahl darstellt und nicht konvertiert werden kann.

    Mit der Spezialfunktion isNaN() können Sie prüfen, ob ein String eine Zahl darstellt. Wenn die Zeichenfolge keine Zahl ist, gibt die Funktion „true“ zurück, wenn es eine Zahl ist, dann „false“:

    Var num1 = "javascript"; var num2 = "22"; var result = isNaN(num1); console.log(result); // true - num1 ist keine Zahl result = isNaN(num2); console.log(result); // false – num2 ist eine Zahl

    Oben haben wir uns mit der Konvertierung von Zeichenfolgen in Zahlen im Dezimalsystem befasst. Wir können Zahlen jedoch in jedes beliebige System umrechnen. Standardmäßig errät der JavaScript-Interpreter selbst, in welches Zahlensystem wir die Zeichenfolge konvertieren möchten (normalerweise ist das Dezimalsystem ausgewählt). Aber wir können den zweiten Parameter verwenden, um explizit anzugeben, dass wir die Zeichenfolge in eine Zahl in einem bestimmten System konvertieren möchten. Beispiel: Konvertieren in eine binäre Zahl:

    Var num1 = „110“; var num2 = parseInt(num1, 2); console.log(num2); // 6

    Das Ergebnis ist 6, da 110 im Binärformat dasselbe ist wie 6 im Dezimalformat.

    Jetzt lasst uns schreiben kleines Programm, in dem wir Operationen mit Variablen verwenden:

    JavaScript var strSum = prompt("Geben Sie den Einzahlungsbetrag ein", 1000); var strPercent = prompt("Geben Sie den Zinssatz ein", 10); var sum = parseInt(strSum); var Prozentsatz = parseInt(strPercent); Summe = Summe + Summe * Prozentsatz / 100; Alert("Nachdem die Zinsen berechnet wurden, beträgt der Einzahlungsbetrag: " + Summe);

    Die Funktion prompt() zeigt ein Dialogfeld im Browser an, in dem Sie zur Eingabe eines Werts aufgefordert werden. Das zweite Argument dieser Funktion gibt den Wert an, der als Standard verwendet wird.

    Die Funktion prompt() gibt jedoch eine Zeichenfolge zurück. Daher müssen wir diese Zeichenfolge in eine Zahl umwandeln, um Operationen darauf ausführen zu können.

    Nachdem wir die Seite im Browser geöffnet haben, werden wir aufgefordert, den Einzahlungsbetrag einzugeben:

    Anschließend erscheint eine ähnliche Meldung zur Eingabe des Prozentsatzes. Und am Ende empfängt das Programm die Daten, wandelt sie in Zahlen um und führt die Berechnung durch.



    Freunden erzählen