js中的类型转换一般是用在计算的时候,为了保证代码的健壮性,会先把变量进行判断转换成数字。
// 字符串转数字
let num1 = '2'
let num2 = 'js2'
let num3 = '2js'
let num4 = '3.64js'
console.log(typeof num1, typeof num2, typeof num3) // string 三个字符串类型
- 使用一元运算符“+” 可以将字符串转换为数字
这种方法只能转换纯数字的字符串,带有其他字符的只能转换成NaN(不是数字)
num1 = +num1
num2 = +num2
num3 = +num3
console.log(typeof num1, typeof num2, typeof num3)
console.log(num1, num2, num3)
- 使用乘1的方法进行隐式转换, 可以将字符串转换为数字
这种方法也是只能转换纯数字的字符串,带有其他字符的只能转换成NaN(不是数字)
num1 = num1 * 1
num2 = num2 * 1
num3 = num3 * 1
console.log(typeof num1, typeof num2, typeof num3)
console.log(num1, num2, num3)
- 使用全局方法 Number() 可以将字符串转换为数字。
这种方法也是只能转换纯数字的字符串,带有其他字符的只能转换成NaN(不是数字)
console.log(typeof Number(num1), typeof Number(num2), typeof Number(num3))
console.log(Number(num1), Number(num2), Number(num3))
- parseInt()解析一个字符串,并返回一个整数。parseFloat()解析一个字符串,并返回一个浮点数。
parseInt()方法可以将纯数字字符串或者第一个字符是数字的返回一个整数,直接舍弃小数部分向下取整。
console.log(typeof parseInt(num1), typeof parseInt(num2), typeof parseInt(num3), typeof parseInt(num4))
console.log(parseInt(num1), parseInt(num2), parseInt(num3), parseInt(num4))
parseFloat()方法可以将纯数字字符串或者第一个字符是数字的返回一个浮点数
console.log(typeof parseFloat(num1), typeof parseFloat(num2), typeof parseFloat(num3), typeof parseFloat(num4))
console.log(parseFloat(num1), parseFloat(num2), parseFloat(num3), parseFloat(num4))