JavaScript中的数值转换方法

JavaScript中有三个能够吧非数值转换成数值;Number();parseInt()和parseFloat();函数

Number():spa

1.若是是Boolean值,true和false分别被转换为1和0;code

2.若是是数字,只是简单的传入和返回;blog

3.若是是null值,则返回0;ip

4.若是是undefined,则返回NaN;字符串

5.若是是字符串:class

  1).若是字符串中只包含数字,则将其转化为十进制数;二进制

  2).若是包含有效的浮点格式,则将其转化为对应的浮点数值;di

  3).若是字符串包含十六进制格式,则将其转换为相同大小的十进制整数;co

  4).若是是空字符串,则将其转换为0;

  5).若是字符串包含上述格式以外的字符,则将其转换为NaN;

实例:

1 var num1 = Number("Hello world!");    //NaN
2 var num2 = Number("");                //0
3 var num3 = Number("000011");          //11
4 var num4 = Number(true);              //1

parseInt():

  1.会忽略字符串前面的空格,直至找到第一个非空格字符。

  2.若是第一个字符不是数字字符或者负号,则返回NaN;

  3.若是字符串中的第一个字符是数字字符,也能识别出各类整数格式(即十进制,八进制和十六进制);

 实例:

1 var num1 = parseInt('1234sky');        //1234
2 var num2 = parseInt('');              //NaN
3 var num3 = parseInt('0xA');            //10(十六进制数)
4 var num4 = parseInt(22.5);             //22
5 var num5 = parseInt(070);              //56(八进制数)
6 var num6 = parseInt(70);               //70(十进制数)
7 var num7 = parseInt(0xf);              //15(十六进制数)

  4.能够给parseInt提供第二个参数,转换时使用的基数(即多少进制);

实例:

1 var num1 = parseInt('0xAF',16);        //175
2 var num2 = parseInt('AF',16);          //175
3 var num3 = parseInt('AF');             //NaN
4 var num4 = parseInt('10',2);           //2(二进制)
5 var num5 = parseInt('10',8);           //8(八进制)
6 var num6 = parseInt('10',10);          //10(十进制)
7 var num7 = parseInt('10',16);          //16(十六进制)

 

parseFloat():

  1.与parseInt()函数相似;

  2.字符串中的第一个小数点是有效的,而第二个就是无效的了;

  3.始终都会忽略前导的0;

  4.只解析十进制;

  5.若是是一个能够解析为整数的数,会返回整数;

实例:

1 var num1 = parseFloat('1234sky');        //1234
2 var num2 = parseFloat('0xA');            //0
3 var num3 = parseFloat('22.5');           //22.5
4 var num4 = parseFloat('22.34.4');        //22.34
5 var num5 = parseFloat('0908.5');         //908.5
6 var num6 = parseFloat('3.125e7');        //31250000
相关文章
相关标签/搜索