數(shù)值轉(zhuǎn)換

Number()函數(shù)的轉(zhuǎn)換規(guī)則:

  • 如果是Boolean值,true和false將被分別轉(zhuǎn)化為1和0;
console.log(Number(true))  //1
console.log(Number(false))  //0
  • 如果是數(shù)字值,都會(huì)轉(zhuǎn)化為10進(jìn)制返回;

    • 十進(jìn)制,只是簡(jiǎn)單的傳入和返回
    console.log(Number(13))  //13
    
    • 八進(jìn)制(八進(jìn)制的第一位必須是0,然后是八進(jìn)制數(shù)字序列(0~7),如果數(shù)值超出了范圍,那么前導(dǎo)0將被忽略,后面的值將被當(dāng)作十進(jìn)制處理)
    console.log(Number(013))  //11
    console.log(Number(079))  //79
    
    • 十六進(jìn)制(字面值的前兩位必須是0x,后面跟任何十六進(jìn)制數(shù)字(0~9及A~F),其中,字母A~F可以大寫(xiě),也可以小寫(xiě)。)
    console.log(Number(0x1a)) //26
    console.log(Number(0x79)) //121
    
  • 如果是null,返回0;

console.log(Number(null)) //0
  • 如果是undefined,返回NaN
console.log(Number(undefined)) //NaN
  • 如果是字符串,則遵循下面的規(guī)則:

    • 如果字符串中只飽含數(shù)字(包括前面帶正號(hào)和負(fù)號(hào)的情況),則將其轉(zhuǎn)化為十進(jìn)制數(shù)值。
    console.log(Number("1"));  //1
    console.log(Number("123"));  //123
    console.log(Number("011"));  //11,注意前面的0被忽略了
    
    • 如果字符串中包含有效的浮點(diǎn)格式,則將其轉(zhuǎn)化為對(duì)應(yīng)的浮點(diǎn)格式(同樣,也會(huì)忽略前面的0)
    console.log(Number("1.1"));  //1.1
    console.log(Number("0.123"));  //.123
    
    • 如果字符串中包含有效的十六進(jìn)制格式,則將其轉(zhuǎn)化為相同大小的十進(jìn)制整數(shù)值
    console.log(Number("0x23"));  //35
    
    • 如果字符串是空的(不包含任何字符),則將其轉(zhuǎn)化為0
    console.log(Number("")); //0
    
    • 如果字符串中包含除上述之外的字符,則將其轉(zhuǎn)化為NaN
    console.log(Number("Hello world")); //NaN
    
  • 如果是對(duì)象,則調(diào)用對(duì)象的valueOf()方法,然后依照前面的規(guī)則轉(zhuǎn)化返回的值。如果被轉(zhuǎn)化的結(jié)果為NaN,則調(diào)用對(duì)象的toString()方法,然后再次依照前面的規(guī)則轉(zhuǎn)化返回的字符串值。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 有 3 個(gè)函數(shù)可以把非數(shù)值轉(zhuǎn)換為數(shù)值:Number()、parseInt()和 parseFloat()。第一個(gè)函...
    會(huì)有貓惹閱讀 153評(píng)論 0 0
  • Javascript數(shù)值轉(zhuǎn)換一共有三種方法 Number(),通用 parseInt(),轉(zhuǎn)換字符串對(duì)象 pars...
    秋楓殘紅閱讀 188評(píng)論 0 0
  • 變量 聲明變量 命名變量區(qū)分大小寫(xiě)的語(yǔ)言第一個(gè)字符是字母或下劃線_,數(shù)字不能作為第一個(gè)字符字符必須是字母,數(shù)字或者...
    flyingtoparis閱讀 894評(píng)論 0 0
  • 準(zhǔn)備材料 雞爪 花椒 八角 干辣椒 冰糖(白砂糖也行) 生姜 料酒 老抽醬油 步驟 1、備料: ??將雞爪指甲剪掉...
    無(wú)揚(yáng)人生閱讀 852評(píng)論 0 0
  • 女:喂,傻逼,老師來(lái)了 別睡了,老師來(lái)了 男:叫死啊,來(lái)了就來(lái)了 滾滾滾,別煩我 女:你 你這人咋這樣啊 我好心叫...
    尋遷柩閱讀 407評(píng)論 0 0

友情鏈接更多精彩內(nèi)容