您好,登錄后才能下訂單哦!
本篇內容介紹了“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。