js中字符串转为数字主要4种,分别为转换函数,强制转换,js变量弱类型转换,正则表达式。
1、转换函数
JS中提供了两个转换函数parseInt()和parseFloat(),parseInt()将值转换为整数,parseFloat()将值转换为浮点数。只有对String类型调用时,这两个方法才起作用。对于其他类型,则返回的都是NaN(Not a Number)。
1 parseInt("1234blue"); //returns 1234 2 parseInt("0xA"); //returns 10 3 parseInt("22.5"); //returns 22 4 parseInt("blue"); //returns NaN
1 parseFloat("1234blue"); //returns 1234.0 2 parseFloat("0xA"); //returns NaN 3 parseFloat("22.5"); //returns 22.5 4 parseFloat("22.34.5"); //returns 22.34 5 parseFloat("0908"); //returns 908 6 parseFloat("blue"); //returns NaN
2、强制转换
可以使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另外一种类型的值。
Number(value) 把给定的值转换为数字(可以是整数或浮点数)。
Number()强制转换与parseInt(),parseFloat()方法的处理方式类似,它转换的是整个值,而不是部分值。
1 Number(false) 0 2 Number(true) 1 3 Number(undefined) NaN 4 Number(null) 0 5 Number( "5.5 ") 5.5 6 Number( "56 ") 56 7 Number( "5.6.7 ") NaN 8 Number(new Object()) NaN 9 Number(100) 100
3、js变量弱类型转换
利用js弱类型的特点,只进行了算术运算,实现字符串到数字的类型转换。这种方法不推荐
1 var str= '012.345 '; 2 var x = str-0; 3 x = x*1;
4、正则表达式
利用正则表达式对符合要求的字符串进行提取,获取字符串中的数字。