string字符串类型转换为number数字类型
1、五种方法
Number() 、parseInt()、 parseFloat()、new Number() 、*(/)
2、差别
第一个函数,即转型函数 Number() 可以用于任何数据类型,而另两个函数则专门用于把字符串转换成数值。
这 5个函数对于同样的输入会有返回不同的结果。
性能上:*(/) > Number > parseInt(parseFloat) > new Number
3、用法
3.1 Number()
//1: Number var str1="HELLO" var str2="123HELLO" num1 = Number( str1 ); num2 = Number( str2 ); console.log(num1); console.log(num2);
3.2 parseInt()
parseInt()会取出字符串非数字部分,返回新字符串。
如果第一个字符串就是非数字,返回NaN。
如果是有小数的数字,会被去除。
//2: parseInt() var str1="HELLO" var str2="123HELLO" var str3="123.33.3HELLO" str1 = parseInt( str1 ); str2 = parseInt( str2 ); str3 = parseInt( str3 ); console.log(str1); console.log(str2); console.log(str3);
3.3 parseFloat()
parseFloat ()会取出字符串非数字部分,返回新字符串。
如果第一个字符串就是非数字,返回NaN。
如果是有小数的数字,会被保留,但是只有第一个小数点后的数字保留。
//3: parseFloat() var str1="HELLO" var str2="123HELLO" var str3="123.33.3HELLO" str1 = parseFloat( str1 ); str2 = parseFloat( str2 ); str3 = parseFloat( str3 ); console.log(str1); console.log(str2); console.log(str3);
3.4 new Number()
一般不推荐使用。
//4: new num = new Number( str ).valueOf(); console.log(num.valueOf());
3.5 * /
//5: num1 = str / 1; num2 = str * 1; console.log( num1 + ' 的类型为 ' + typeof num1 ); console.log( num2 + ' 的类型为 ' + typeof num2 );