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

溫馨提示×

溫馨提示×

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

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

javascript怎么將數據轉換為整數

發布時間:2022-05-07 14:41:52 來源:億速云 閱讀:143 作者:iii 欄目:大數據

本篇內容介紹了“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

万盛区| 永宁县| 迁安市| 涡阳县| 古丈县| 宁陵县| 柘荣县| 桦川县| 乌拉特中旗| 江口县| 横峰县| 石河子市| 邻水| 辽宁省| 普兰县| 滦南县| 兴安县| SHOW| 伊川县| 景东| 河西区| 阳东县| 荥经县| 陵水| 高邑县| 通河县| 黑山县| 锦州市| 宣城市| 宜兴市| 来安县| 浦东新区| 武川县| 凉山| 洛扎县| 什邡市| 安陆市| 五大连池市| 大宁县| 宾阳县| 新乡市|