一、转化为数值类型
A、如果是布尔值,false为0,true为1;
var a=true;
alert(Number (a));//1
B、如果是数字,转化为本身,将无意义的后倒0去掉。
var b=1.0;
alert(Number (b));//1
C、如果Null转化为0
var c=null;
alert(Number (c));//0
D、如果为undefined转化为NaN
var d;
alert(Number (d));//NaN
E、如果是对象,则会先调用对象的valueOf(),若返回为NaN,再调用对象的toString();
F、如果是字符串
1.如果字符串当中只有数字,转换为10进制(忽略前导0和后导0)
var f1='0120.0';
alert(Number (f1));//120
2.如果有效的规范的浮点型,转换为浮点值(忽略前导0和后倒0)
var f2='01.20'
alert(Number (f2));
3.如果是空字符串,则转换为0,
var f3='';
alert(Number (f3));//0
4.如果是其他值,返回NaN
var f4='f4';
alert(Number (f4));//NaN
parseInt(参数1,参数2) 将数字串转换为整型
A、如果一个字符串只包含数字,则以10进制的方式转换为整型。
var num='012010';
alert(parseInt (num));//12010
B、他会自动忽略字符串前面的空格,直到找到第一个非空的数值字符串,直到解析到第一个非数值的字符串结束
var a=" 12df";
alert(parseInt (a))//12
C.如果字符串的第一个字符不是空格、数字、-,那么返回NaN
var str='a12';
alert(parseInt (str));//NaN
D、参数一,必需,要被解析的字符串;参数二,可选,表示要解析的数字的基数。
该值介于 2 ~ 36 之间。如果省略该参数或其值为 0,则数字将以 10 为基础来解析。
如果它以 “0x” 或 “0X” 开头,将以 16 为基数。如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。
举例:parseInt('10');//10
parseInt('10',2);//1*2^1+0*2^0=2
parseInt('23',8);//2*8^1+3*8^0=19
parseInt('28',10);//23
parseInt('3f',16);//3*16^1+15*16^0=63
parseFloat()将字符串转换为浮点型
A、字符串当中只有第一个有效,其他的无效。
var a="1.22.33";
alert(parseFloat (a));//1.22
B、如果字符串时一个有效的整数,他返回的是整数,不会返回浮点数
var a="1.0";
alert(parseFloat (a));//1