Maison >interface Web >js tutoriel >JavaScript avancé (4) Trois façons de convertir des chaînes js en nombres

JavaScript avancé (4) Trois façons de convertir des chaînes js en nombres

黄舟
黄舟original
2017-02-11 14:42:422038parcourir

Trois façons de convertir des chaînes js en nombres

Lorsque js lit des zones de texte ou d'autres données de formulaire, la valeur obtenue est de type chaîne, Par exemple, deux zones de texte a et b,si vous obtenez valeur de 🎜>a est 11, et la valeur > la valeur est 9, alors a.value devrait être inférieure à b.value,Parce qu'ils sont tous sous forme de chaînes. Il existe trois méthodes principales : la fonction de conversion, la conversion de type forcée et l'utilisation de

js

Conversion de type faible variable.

Fonction de conversion

js

fournit

parseInt() et parseFloat()Deux fonctions de conversion. Le premier convertit la valeur en nombre entier et le second convertit la valeur en nombre à virgule flottante. Ce n'est qu'en appelant ces méthodes sur le type String que ces deux fonctions peuvent s'exécuter correctement ; pour les autres types, elles renvoient NaN(Not a Number) . Quelques exemples sont les suivants :

Le code est le suivant

 :

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


La méthode parseInt()

a également un mode de base, qui peut convertir binaire, octal, hexadécimal ou toute autre chaîne de base en un entier. La base est spécifiée par le deuxième paramètre de la méthode

parseInt() L'exemple est le suivant : Le code est le suivant

. :

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


Si le nombre décimal contient

0

, alors il est préférable de utilisez la base 10 pour ne pas obtenir accidentellement une valeur octale. Par exemple : Le code est le suivant

 :

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


parseFloat( )

La méthode est gérée de la même manière que la méthode

parseInt(). Une autre différence dans l'utilisation de la méthode

parseFloat()

est que la chaîne doit représenter un nombre à virgule flottante sous forme décimale, parseFloat() Pas de mode base. Ce qui suit est un exemple d'utilisation de la méthode

parseFloat()

 : Le code est le suivant

 :

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


Casting

Vous pouvez également utiliser le casting de type (

type casting

) gère le type de valeur convertie. Utilisez un cast pour accéder à une valeur spécifique, même si elle est d'un autre type. ECMAScript

Les trois types de transtypages

disponibles sont les suivants : Boolean(value)

——Convertissez la valeur donnée en type

Boolean Number(value)

——Convertissez la valeur donnée en Number (peut être un nombre entier ou à virgule flottante);

String(value)

- Convertit la valeur donnée en chaîne.

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

      当要转换的值是至少有一个字符的字符串、非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)!


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn