方式一:通过Number( )转换
语法:Number(你要转换的数据)
结果(返回值):转换好的数值类型的数据
转换机制:会把你要转换的数据看作是一个整体,如果可以转换成一个合法的数字,那么结果就是这个数字,如果转换不成那么结果就是NaN
var a = '10'
var res1 = typeof a
console.log('a的值:',a);
console.log('res1的检测结果:', res1);
//将a变量通过number转换成数值类型,并且把转换好的结果赋值给res2
var res2 = Number(a)
console.log('转好好之后a的值:',res2);
console.log("转好之后a的数据类型",typeof res2);
var b = '10.5'
console.log('b变量的值:',b);
console.log('b变量的数据类型',typeof b);
console.log('===========转换了====');
var res = Number(b)
console.log('b变量转换之后的:',res);
console.log('b变量转换之后的数据类型:',typeof res);
var c = '10a'
console.log('c变量的值:',c);
console.log('c变量的数据类型',typeof c);
console.log('===========转换了====');
var res = Number(c)
// NaN:not a number
console.log('c变量转换之后的:',res);
console.log('c变量转换之后的数据类型:',typeof res);
方式二:parseInt( )
语法:parseInt(你要转换的数据)
返回值(结果):转换成数值之后的数据
转换规则:不管你要转的数据是什么,都是一位一位的去检测,如果第一位可以转成数字,就转,依次往后看每一位,直到碰到不能转或者转完为止,如果转不成就直接NaN
var d = '10'
console.log('d变量的值:',d);
console.log('d变量的值的数据类型:',typeof d);
console.log('===========转换了====');
var res = parseInt(d)
console.log('res变量的值:',res);
console.log('res变量的值的数据类型:',typeof res);
var d = '10.5'
console.log('d变量的值:',d);
console.log('d变量的值的数据类型:',typeof d);
console.log('===========转换了====');
var res = parseInt(d)
console.log('res变量的值:',res);
console.log('res变量的值的数据类型:',typeof res);
var d = 'b10a'
console.log('d变量的值:',d);
console.log('d变量的值的数据类型:',typeof d);
console.log('===========转换了====');
var res = parseInt(d)
console.log('res变量的值:',res);
console.log('res变量的值的数据类型:',typeof res);
方式三:parseFloat( )
语法:parseFloat(你要转换的数据)
返回值(结果):转好之后的数据
转换规则:和parseInt是一样的,都是一位一位去检测,只不过多认识了一个小数点
var d = 'a10a'
console.log('d变量的值:',d);
console.log('d变量的值的数据类型:',typeof d);
console.log('===========转换了====');
var res = parseFloat(d)
console.log('res变量的值:',res);
console.log('res变量的值的数据类型:',typeof res);
方式四:借助于除了加法之外的运算符
-、*、/
-0
*1
/1
这几种情况是不改变数字本身的。
var d = '10.5'
console.log('d变量的值:',d);
console.log('d变量的值的数据类型:',typeof d);
console.log('===========转换了====');
var res = d-0
console.log('res变量的值:',res);
console.log('res变量的值的数据类型:',typeof res);