您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript有哪些轉換成整數方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript有哪些轉換成整數方法”吧!
javascript轉換成整數方法有:1、使用parseInt()方法,語法格式“parseInt(字符串,要解析的數字的基數)”;2、使用Math.trunc()方法,語法格式為“Math.trunc(數值)”。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
本文將會列舉并說明JavaScript 把一個number(或者numerical的對象)轉換成一個整數相關方法。
parseInt的語法如下:parseInt(string, radix)
參數string的表示要解析的字符串,也可以是一個對象,會自動調用對象的toString函數得到要解析的字符串。
parseInt的第二個參數,可以指定要解析的數字的基數,注意該值介于 2 ~ 36 之間,如果該參數小于 2 或者大于 36,則 parseInt() 將返回 NaN。比如下面的代碼,結果為8,這樣可以很方便的把其他的進制的數字轉換為10進制的數字:
parseInt(10,8) // 結果為8
當參數 radix 的值為 0,或沒有設置該參數時,parseInt() 會根據 string 來判斷數字的基數。
舉例,如果 string 以 "0x" 開頭,parseInt() 會把 string 的其余部分解析為十六進制的整數。如果 string 以 0 開頭,那么 ECMAScript v3 允許 parseInt() 的一個實現把其后的字符解析為八進制或十六進制的數字。如果 string 以 1 ~ 9 的數字開頭,parseInt() 將把它解析為十進制的整數。
注釋
1. 只有字符串中的第一個數字會被返回。 什么意思呢,如果輸入的字符串是"123abc","123,123",那么結果是123,parseInt方法會自動忽略后面的非數字部分。
2. 輸入字符串開頭和結尾的空格是允許的。
3. parseFloat 也具備以上兩條特征,不過本文不重點講述。
Math.trunc() 方法會將數字的小數部分去掉,只保留整數部分。比如以下代碼:
Math.trunc(13.37) // 13 Math.trunc(42.84) // 42 Math.trunc(0.123) // 0 Math.trunc(-0.123) // -0 Math.trunc("-1.123") // -1 Math.trunc(NaN) // NaN Math.trunc("foo") // NaN Math.trunc() // NaN
當傳入的類型不是數字的時候,會自動做癮式轉換。但是如果是一個非numerical的參數的時候,返回NaN。
IE瀏覽器并不支持這個方法,所以可以考慮polyfill:
Math.trunc || (Math.trunc = function(v){ return v < 0 ? Math.ceil(v) : Math.floor(v); // 使用Math.floor和Math.ceil方法 }) // 或者 if (!Math.trunc) { Math.trunc = function(v) { v = +v; if (!isFinite(v)) return v; return (v - v % 1) || (v < 0 ? -0 : v === 0 ? v : 0); // 返回: // 0 -> 0 // -0 -> -0 // 0.2 -> 0 // -0.2 -> -0 // 0.7 -> 0 // -0.7 -> -0 // Infinity -> Infinity // -Infinity -> -Infinity // NaN -> NaN // null -> 0 }; }
對于numerical的對象n,可以通過如下的方式來轉換為整數:
~~n 雙重位取反(Double bitwise NOT)
n | n 位或運算(Bitwise OR)
n | 0 和0的位或運算(Bitwise OR with 0)
n << 0 位左移運算0位(Bitwise left shift)
n >> 0 位右移運算0位(Bitwise right shift)
n & n 為與運算(Bitwise AND)
比如代碼如下:
~~1.23 // 1 -1.2 | -1.2 // - 1 -1.2 | 0 // - 1 3.4 >> 0 // 3 3.2 << 0 // 3 5.5 & 5.5 // 5 ~~"1.2" // 1.2
注意,從上面可以看出,位運算下字符串會自動轉換數字。
感謝各位的閱讀,以上就是“javascript有哪些轉換成整數方法”的內容了,經過本文的學習后,相信大家對javascript有哪些轉換成整數方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。