中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript如何將數據轉換為整數

發布時間:2021-06-23 14:44:11 來源:億速云 閱讀:744 作者:chen 欄目:web開發

這篇文章主要介紹“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如何將數據轉換為整數”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

科技| 柳州市| 岢岚县| 贡嘎县| 巫山县| 崇阳县| 察哈| 那曲县| 聊城市| 平定县| 竹北市| 营山县| 科尔| 巴林右旗| 惠州市| 察雅县| 凯里市| 呼图壁县| 兴和县| 乾安县| 鄂伦春自治旗| 山阳县| 泽普县| 河间市| 特克斯县| 简阳市| 北海市| 新干县| 西藏| 永顺县| 仙居县| 朝阳区| 宜章县| 萝北县| 墨竹工卡县| 泽普县| 响水县| 北碚区| 墨玉县| 安新县| 扬中市|