Heim  >  Artikel  >  Web-Frontend  >  Erweitertes JavaScript (4) Drei Möglichkeiten, JS-Strings in Zahlen umzuwandeln

Erweitertes JavaScript (4) Drei Möglichkeiten, JS-Strings in Zahlen umzuwandeln

黄舟
黄舟Original
2017-02-11 14:42:421995Durchsuche

Drei Möglichkeiten, js-Strings in Zahlen umzuwandeln

Wenn js Textfelder oder andere Formulardaten liest, ist der erhaltene Wert vom Typ String, Zum Beispiel zwei Textfelder a und b,wenn Sie Wert von 🎜>a ist 11, und der Wert > Wert ist 9 , dann sollte a.value kleiner sein als b.value,Weil sie alle in Form von Zeichenfolgen vorliegen. Es gibt drei Hauptmethoden: Konvertierungsfunktion, erzwungene Typkonvertierung und die Verwendung von js

Variable schwache Typkonvertierung. Konvertierungsfunktion

js stellt

parseInt() und bereit parseFloat()Zwei Konvertierungsfunktionen. Ersteres wandelt den Wert in eine Ganzzahl um und letzteres wandelt den Wert in eine Gleitkommazahl um. Nur wenn diese Methoden für den Typ String aufgerufen werden, können diese beiden Funktionen für andere Typen korrekt ausgeführt werden. Sie geben NaN(Not a Number) . Einige Beispiele sind wie folgt: Der Code lautet 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är-, Oktal-, Hexadezimal- oder jede andere Basiszeichenfolge in eine Ganzzahl konvertieren kann. Die Basis wird durch den zweiten Parameter der Methode

parseInt()

angegeben. Das Beispiel lautet wie folgt: Der Code lautet wie folgt :

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

Wenn die Dezimalzahl führende 0

enthält, dann ist es besser Verwenden Sie die Basis

10 , damit Sie nicht versehentlich einen Oktalwert erhalten. Zum Beispiel: Der Code lautet wie folgt:

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

parseFloat( ) Die Methode wird ähnlich wie die Methode

parseInt()

gehandhabt. Ein weiterer Unterschied bei der Verwendung der Methode parseFloat()

besteht darin, dass die Zeichenfolge eine Gleitkommazahl in Dezimalform darstellen muss,

parseFloat() Kein Basismodus. Das Folgende ist ein Beispiel für die Verwendung der Methode parseFloat()

:

Der Code lautet wie folgt:

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

Erzwungene Typkonvertierung

Sie können auch die erzwungene Typkonvertierung (Type Casting

) behandelt den Typ des konvertierten Werts. Verwenden Sie eine Umwandlung, um auf einen bestimmten Wert zuzugreifen, auch wenn dieser von einem anderen Typ ist.

ECMAScriptDie drei Arten von

-Umwandlungen sind wie folgt: Boolean(value)——Konvertieren Sie den angegebenen Wert in den Typ

Boolean

; Number(value)——Konvertieren Sie den angegebenen Wert in Number (kann sein eine Ganzzahl oder Gleitkommazahl);

String(value) – Konvertieren Sie den angegebenen Wert in einen String.

      用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。

      当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0undefinednull,它将返回false

      可以用下面的代码段测试Boolean型的强制类型转换。

代码如下:

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


      Number()的强制类型转换与parseInt()parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

代码如下:

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


      最后一种强制类型转换方法String()是最简单的,示例如下:

代码如下:

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


利用js变量弱类型转换

代码如下:

<script>
var str= &#39;012.345 &#39;;
var x = str-0;
x = x*1;
</script>


上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的

美文美图


以上就是JavaScript进阶(四)js字符串转换成数字的三种方法的内容,更多相关内容请关注PHP中文网(www.php.cn)!


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