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
相關文章
相關標籤/搜索