您好,登錄后才能下訂單哦!
這篇文章主要介紹“javascript如何將數據轉換為整數”,在日常操作中,相信很多人在javascript如何將數據轉換為整數問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”javascript如何將數據轉換為整數”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
javascript轉換整數的方法:1、使用parseInt()函數,語法“parseInt("要轉換的值")”。2、利用位操作符,例“~~123.45”。3、使用“Math.floor(值)”與“Math.ceil(值)”語法。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
方法1:parseInt()函數
parseInt() 是一個全局方法,它可以把值轉換為整數。轉換的過程如下:
先解析位置 0 處的字符,如果不是有效數字,則直接返回 NaN。
如果位置 0 處的字符是數字,或者可以轉換為有效數字,則繼續解析位置 1 處的字符,如果不是有效數字,則直接返回位置 0 處的有效數字。
以此類推,按照從左到右的順序,逐個分析每個字符,直到發現非數字字符為止。
parseInt() 將把前面分析合法的數字字符全部轉換為數值并返回。
console.log(parseInt("123abc")); //返回數字123 console.log(parseInt("1.73")); //返回數字1 console.log(parseInt(".123")); //返回值NaN
浮點數中的點對于 parseInt() 來說屬于非法字符,因此不會轉換小數部分的值。
如果是以 0 開頭的數字字符串,則 parseInt() 會把它作為八進制數字處理:先把它轉換為八進制數值,然后再轉換為十進制的數字返回。
如果是以 0x 開頭的數字字符串,則 parseInt() 會把它作為十六進制數字處理:先把它轉換為十六進制數值,然后再轉換為十進制的數字返回。
var d = 010; //八進制數字字符串 var e = 0x10; //十六進制數字字符串 console.log(parseInt(d)); //返回十進制數字8 console.log(parseInt(e)); //返回十進制數字16
parseInt() 也支持基模式,可以把二進制、八進制、十六進制等不同進制的數字字符串轉換為整數。基模式由 parseInt() 函數的第二個參數指定。
示例1
下面代碼把十六進制數字字符串“123abc”轉換為十進制整數。
var a = "123abc"; console.log(parseInt(a,16)); //返回十進制整數1194684
示例2
下面代碼把二進制、八進制和十進制數字字符串轉換為十進制的整數。
console.log(parseInt("10",2)); //把二進制數字 10 轉換為十進制整數,為 2 console.log(parseInt("10",8)); //把八進制數字 10 轉換為十進制整數,為 8 console.log(parseInt("10",10)); //把十進制數字 10 轉換為十進制整數,為 10
示例3
如果第一個參數是十進制的值,包含 0 前綴,為了避免被誤解為八進制的數字,則應該指定第二個參數值為 10,即顯示定義基模式,而不是采用默認基模式。
console.log(parseInt("010")); //把默認基模式數字 010 轉換為十進制整數為 10 console.log(parseInt("010",8)); //把八進制數字 010 轉換為十進制整數為 8 console.log(parseInt("010",10)); //把十進制數字 010 轉換為十進制整數為 10
方法2:位操作符
console.log(0 | "123.45")//123 console.log(0 | 123.45)//123 console.log(0 ^ 123.45)//123 console.log(~~123.45)//123
原理:javascript沒有整數的概念,所有的數值型都是雙精度浮點數。在用位運算符時,它會先把操作數轉變成整數,方便操作。而0與其他值異或或者按位或都不會改變操作值的
方法3:Math.floor與Math.ceil
實例
console.log(Math.floor(2.3))//2 console.log(Math.floor(-2.3))//-3 console.log(Math.ceil(2.3))//3 console.log(Math.ceil(-2.3))//-2
兩者不足:
Math.floor得到的是數字的最小整數;而Math.ceil得到的是最大整數。所以導致本來-2.3我們取整的話我們要得到的是-2,但是用Math.floor得到的是-3。而2.3用Math.ceil得到的是3,但是我們要的是2就行了。
解決:
//自行定義一個函數 function getInt(val){ return val>0 ? Math.floor(val):Math.ceil(val); }
到此,關于“javascript如何將數據轉換為整數”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。