JavaScript數值轉換總結

來源:互聯網
上載者:User

JavaScript數值轉換總結

在JavaScript中,數值轉換一般有三種方式:


一、Number(param)函數:param可以用於任何資料類型


1.1 param是Boolean值,true和false分別轉換為1和0;

1.2 param是數值,只是簡單的傳入和返回

1.3 param是null和undefined,分別返回0和NaN

1.4 param是字串,遵循下列規則:


1.4.1 如果字串中只包含數字,則轉換為十進位,前置0被忽略;

1.4.2 如果字串中包含有效浮點數格式,則返回對應的浮點數值,前置0被忽略;

1.4.3 如果字串包含有效十六進位,則返回等大的十進位數值

1.4.4 如果字串為空白,則返回0

1.4.5 如果字串中包含除上述格式外的字元,則返回NaN


1.5 param是對象,則調用valueOf()方法,依照前面的規則轉換返回字串值,若返回NaN,則調用toString()方法,再次依照前面的規則轉換返回字串值。


1.6 樣本:

var num1 = Number("hello");  //NaNvar num2 = Number("");  //0var num3 = Number("00022");  //22var num4 = Number(true);  //1


二、parseInt(param):把字串轉換成整數,param是字串類型。


parseInt()忽略字串前面的空格,直到找到第一個非空格字元S;若S不是數字或者負號,則返回NaN(即parseInt()對Null 字元返回NaN,注意Number()對空返回0),若S是數字,parseInt()會繼續解析下一個字元,直到解析完所有字元或者遇到了一個非數字字元。parseInt()支援對八進位、十六進位的解析

var num1 = parseInt("1234blue");  //1234var num2 = parseInt("");  //NaNvar num3 = parseInt("22.5");  //22var num4 = parseInt("070");  //八進位,轉換為十進位的56


三、parseIFloat(param):把字串轉換成浮點數,param是字串類型。


與parseInt類似,parseFloat()從第一個字元開始解析,直到解析完所有字元或者遇到了一個非浮點數字元。第一個小數點有效,但是第二個則無效,且該函數只能解析十進位數,因為它始終會忽略前置0.

var num1 = parseFloat("1234blue"); // 1234var num2 = parseFloat("0xf6"); // 0var num3 = parseFloat("22.5"); // 22.5var num4 = parseFloat("22.5.4"); //22.5var num5 = parseFloat("3.125e7"); // 31250000


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.