Maison >interface Web >js tutoriel >JavaScript avancé (4) 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
jsConversion de type faible variable.
Fonction de conversionparseInt() 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()
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
, 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( )
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
) 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 transtypagesdisponibles sont les suivants : Boolean(value)
——Convertissez la valeur donnée en typeBoolean 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。如果该值是空字符串、数字0、undefined或null,它将返回false。 可以用下面的代码段测试Boolean型的强制类型转换。 代码如下: Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下: 代码如下: 最后一种强制类型转换方法String()是最简单的,示例如下: 代码如下: 代码如下: 上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的。 以上就是JavaScript进阶(四)js字符串转换成数字的三种方法的内容,更多相关内容请关注PHP中文网(www.php.cn)!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(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
var s1 = String(null); //"null"
var oNull = null;
var s2 = oNull.toString(); //won't work, causes an error
利用js变量弱类型转换
<script>
var str= '012.345 ';
var x = str-0;
x = x*1;
</script>
美文美图