您好,登錄后才能下訂單哦!
參考閱讀:
詳解js中Number()、parseInt()和parseFloat()的區別
詳解JS轉換數值函數Number()、parseInt()、parseFloat()
在項目開發中我們經常會用到轉型方法,尤其是JS這種松散型的語言。其中比較常用的方法就是Number()方法和ParseInt()/ParseFloat()方法了,下面我們分別對這幾種方法的轉型機制進行詳細地說明。具體內容詳情如下所示:
【正文內容】
-------------------------------------------------------------------------------------
--Number()
--
--
--Boolean值,true和false值將分別被轉為1和0。
--
--數字值,整型就是整型,浮點型就是浮點型,科學計數就科學計數
--
--null值,轉為0
--
--二進制,八進制,十六進制格式,轉為十進制的數值
--
--字符串為空,轉為0
--
--字符串中是純科學計數,數值會直接轉為十進制的數值
--
--undefined , 對象 , 數組 ,字符串不為純數字和科學計數時 返回NaN
------------------------------------------------------------------------------------
//JS區分0和-0 var num = 123; var num = 123.123; var num = 0b10; var num = 010; var num = 0xff; var num = 5e2; var num = 5e-2; var num = NaN; console.log('值: ' , num); console.log('類型: ' , typeof(num)) //NaN本身為false //其他類型轉為數值失敗時都為NaN console.log(NaN - 100); if(NaN){ console.log('Yes'); }else{ console.log('No'); } //NaN var a = '123ad'; //123 var a = '123'; //NaN var a = 'f3ad'; //0 var a = false; //1 var a = true; //NaN var a = undefined; var a = new Object(); var a = Array(1,23); //1e+124 var a = 10e123; //3 var a = 0b11; //255 var a = 0xff; //1.23 var a = 1.23; //0 var a = ''; //1200 var a = '12e2'; //0 var a = null; //90 var a = 0132; var n = Number(a); console.log(n);
----------------------------------------------------------------------------------------------------------------------------------------
--parseInt()
--
--
--數值正常轉化,如果為浮點數,則轉為整型,舍棄小數點后的數值
--
--字符串起始包含數字時則數字那段轉為數值,后面舍棄
--
--二進制,八進制,十六進制轉化時,轉化為十進制的數值
--
--科學計數法,能解析時正常解析,不能時返回第一個數字
--
--Boolean,undefined , 對象 , 數組 ,空字符串,字符串開頭不為純數字和科學計數時 返回NaN
--
--parseInt()方法還有基模式,可以把二進制、八進制、十六進制或其他任何進制的字符串轉換成整數。
----------------------------------------------------------------------------------------------------------------------------------------
//123 var a = '123ad'; //123 var a = '123'; //NaN var a = 'f3ad'; //NaN var a = false; //NaN var a = true; //NaN var a = undefined; var a = new Object(); //13 第一個值 var a = Array(13,2); //3100000能夠解析處時正常解析,不能時只返回第一個數字 var a = 31e5; //3 var a = 0b11; //255 var a = 0xff; //1 var a = 1.23; //NaN var a = ''; //12 字符串只返回12e舍棄 var a = '12e2'; //NaN var a = null; //1 var a = 1.5; //90 var a = 0132; var n = parseInt(a); console.log(n); var a = parseInt("10",2); var a = parseInt("FF",16); var a = parseInt("10",8); console.log(a);
--------------------------------------------------------------------------------------------------------------------------------
--parseFloat()
--
--
--數值正常轉化,整型為整型,浮點型為浮點型
--
--字符串起始包含數字時則數字那段轉為數值,后面舍棄
--
--二進制,八進制,十六進制轉化時,轉化為十進制的數值
--
--科學計數法,能解析時正常解析,超出范圍則返回Infinity
--
--Boolean,undefined , 對象 , 數組 ,空字符串,字符串開頭不為純數字和科學計數時 返回NaN
--
--不能有多個小數點報語法錯誤
--------------------------------------------------------------------------------------------------------------------------------
//123 var a = '123ad'; //123 var a = '123'; //NaN var a = 'f3ad'; //NaN var a = false; //NaN var a = true; //NaN var a = undefined; var a = new Object(); //13 第一個值 var a = Array(13,2); //3100000 范圍過大將轉為科學計數法再大將為Infinity var a = 31e5; //3 var a = 0b11; //255 var a = 0xff; //1.23 var a = 1.23; //NaN var a = ''; //1200 var a = '12e2aa'; //NaN var a = null; //1.5 var a = 1.5; //90 var a = 0132; // var a = 1.113; var n = parseFloat(a); console.log(n);
總結
以上所述是小編給大家介紹的深入理解JS中Number(),parseInt(),parseFloat()三者比較,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。