Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erklärung verschiedener Möglichkeiten zum Konvertieren von Zahlen in Zeichenfolgen in js

Detaillierte Erklärung verschiedener Möglichkeiten zum Konvertieren von Zahlen in Zeichenfolgen in js

韦小宝
韦小宝Original
2018-03-07 13:42:351413Durchsuche

Der Wert, der erhalten wird, wenn js Textfelder oder andere Formulardaten liest, ist vom Typ String. Wenn wir andere Datentypen verwenden müssen, müssen wir die Datentypkonvertierung verwenden , heute werden wir über verschiedene Methoden zum Konvertieren von Zeichenfolgen in Zahlen in js sprechen!

Der Wert, der erhalten wird, wenn js ein Textfeld oder andere Formulardaten liest, ist vom Typ Zeichenfolge, z. B. zwei Textfelder a und b. Nehmen Sie dann an, dass der Wert von a 11 und der Wert von b 9 ist a.value sollte kleiner sein als b.value, da beide in Form von Zeichenfolgen vorliegen. Ich habe im Internet Artikel zum Konvertieren von js-Zeichenfolgen in Zahlen gefunden, und dies ist umfassender

Methode Es gibt hauptsächlich drei Arten von

Konvertierungsfunktionen: erzwungene Typkonvertierung und schwache Typkonvertierung unter Verwendung von js-Variablen.

1. Konvertierungsfunktion:

js bietet zwei Konvertierungsfunktionen, parseInt() und parseFloat(). Ersteres wandelt den Wert in eine Ganzzahl um, und letzteres wandelt den Wert in eine Gleitkommazahl um. Diese beiden Funktionen können nur dann korrekt ausgeführt werden, wenn diese Methoden für den String-Typ aufgerufen werden; für andere Typen wird NaN (Not a Number) zurückgegeben.

Einige Beispiele sind wie folgt:

parseInt("1234blue"); //returns 1234
parseInt("0xA"); //returns 10
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN

Die Methode parseInt() verfügt auch über einen Basismodus, der binäre, oktale, hexadezimale oder andere Zeichenfolgen beliebiger Basis umwandeln kann . Die Basis wird durch den zweiten Parameter der parseInt()-Methode angegeben, zum Beispiel:

parseInt("AF", 16); //returns 175
parseInt("10", 2); //returns 2
parseInt("10", 8); //returns 8
parseInt("10", 10); //returns 10

Unter der Annahme, dass Dezimalzahlen führende Nullen enthalten, ist es am besten, die Basis 10 zu verwenden, damit Sie nicht versehentlich Oktal erhalten Wert. Beispiel:

parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10

Die Methode parseFloat() ähnelt der Methode parseInt().
Ein weiterer Unterschied bei der Verwendung der Methode parseFloat() besteht darin, dass die Zeichenfolge eine Gleitkommazahl in Dezimalform darstellen muss und parseFloat() keinen Basismodus hat.

Das Folgende ist ein Demonstrationsbeispiel mit der Methode parseFloat():

parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN

2. Erzwungene Typkonvertierung

Sie können Typumwandlung auch verwenden, um die Konvertierung des Typs eines Werts durchzuführen. Verwenden Sie Umwandlungen, um auf einen bestimmten Wert zuzugreifen, auch wenn dieser einen anderen Typ hat.
Die drei Arten erzwungener Typkonvertierungen sind in ECMAScript verfügbar:

1 Boolescher Wert (Wert) – Konvertieren Sie den angegebenen Wert in den booleschen Typ angegebener Wert in eine Zahl (kann eine Ganzzahl oder eine Gleitkommazahl sein);
3. Konvertieren Sie den angegebenen Wert in eine Zeichenfolge.

Durch die Konvertierung eines Werts mit einer dieser drei Funktionen wird ein neuer Wert erstellt, der den direkt aus dem Originalwert konvertierten Wert speichert. Dies kann unbeabsichtigte Folgen haben.

Die Funktion Boolean() gibt true zurück, wenn der umzuwandelnde Wert eine Zeichenfolge, eine Zahl ungleich Null oder ein Objekt mit mindestens einem Zeichen ist (dies wird im nächsten Abschnitt erläutert). Angenommen, der Wert ist eine leere Zeichenfolge, die Zahl 0, undefiniert oder null, wird false zurückgegeben. Sie können die Boolesche Typkonvertierung mit dem folgenden Codeausschnitt testen.

Boolean(""); //false – empty string
Boolean("hi"); //true – non-empty string
Boolean(100); //true – non-zero number
Boolean(null); //false - null
Boolean(0); //false - zero
Boolean(new Object()); //true – object
Der Zwang von Number() ähnelt den Methoden parseInt() und parseFloat(), außer dass der gesamte Wert und nicht ein Teil des Werts konvertiert wird. Das Beispiel lautet wie folgt:

//用  法  // 结  果
Number(false) //0
Number(true) //1
Number(undefined) //NaN
Number(null) //0
Number( "5.5 ") //5.5
Number( "56 ") //56
Number( "5.6.7 ") //NaN
Number(new Object()) //NaN
Number(100) //100
Die letzte Cast-Methode, String(), ist die einfachste, das Beispiel lautet wie folgt:

var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error

3 . Verwenden Sie die schwache Typkonvertierung von js-Variablen

Ein kleines Beispiel wird es auf einen Blick verdeutlichen.

<script>
var str= &#39;012.345 &#39;;
var x = str-0;
x = x*1;
</script>
Das obige Beispiel nutzt die schwachen Typeigenschaften von js und führt nur arithmetische Operationen aus, um eine Typkonvertierung von einer Zeichenfolge in eine Zahl zu erreichen. Diese Methode wird jedoch nicht empfohlen

Empfohlene verwandte Artikel:

So konvertieren Sie Hexadezimalzahlen zwischen Js-Zeichenfolgen ineinander

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung verschiedener Möglichkeiten zum Konvertieren von Zahlen in Zeichenfolgen in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn