字符串转数字
方法主要有三种:
转换函数、强制类型转换、利用JS变量弱类型转换。
1. 转换函数parseInt() & parseFloat()
这二者都是JS全局函数。
1.1. parseInt()
1)
parseInt()
函数可
解析一个字符串
,并返回一个
整数
。
2)
语法:
parseInt(string, radix)
。
string
必选,表示被解析的字符串。
radix
可选,表示要解析的数字的基数。
radix
介于 2 ~ 36 之间。
radix
缺省或其值为 0,则根据
string
开头来解析。
NaN
。
string
以
0X
或
0x
开头,以 16 为基数。
1.2 parseFloat()
parseFloat()
函数可解析一个字符串,并返回一个
浮点数
。
parseFloat(string)
1.3 Tips
开头 和 结尾 的空格是允许的。字符串中间的空格不被允许。
NaN
。
parseInt()
。
Number
类型。
2. 强制类型转换
JS有三种转型函数。
2.1 Boolean()转换规则
转换为true的值 转换为false的值 var y = str * 1; console.log(x, typeof x); // 12.345 number console.log(y, typeof y); // 12.345 number数字转字符串
1. String()强制转换
2. '+'字符串拼接
var num = 3; console.log(num + '');
3. Number类型内置方法
3.1 toString()
toString()
方法可以传递一个表示基数的参数,表示返回几进制数值的字符串形式。
var num = 10;
console.log(num.toString()); // '10'
console.log(num.toString(2)); // '1010'
console.log(num.toString(8)); // '12'
console.log(num.toString(10)); // '10'
console.log(num.toString(16)); // 'a'
3.2 toFixed()
toFixed()按照指定的小数位返回数值的字符串表示。如果数值本身包含的小数位比指定的还多,那么接近制定的最大小数位的值就会舍入。
var num1 = 10, num2 = 10.005;
console.log(num1.toFixed(2), num2.toFixed(2)); // '10.00' '10.01'
3.3 toExponential()
toExponential()方法返回以指数表示法表示的数值的字符串形式。也可以接受一个参数,用以指定输出结果中的小数位数。
var num = 10;
console.log(num.toExponential(1)) // '1.0e + 1'
3.4 toPrecision()
toPrecision()方法返回固定大小格式,也可能会返回指数格式。该方法也可以接受一个参数,用以表示数值的所有数字位数(不包括指数部分)。
var num = 99;
// 为了将99用一位数表示出来,四舍五入成了100
console.log(num.toPrecision(1)); // '1e + 2'
console.log(num.toPrecision(2)); // '99'