首頁 web前端 js教程 javascript怎麼將資料轉換為整數

javascript怎麼將資料轉換為整數

Jun 23, 2021 pm 02:14 PM
javascript 整數 浮點數

javascript轉換整數的方法:1、使用parseInt()函數,語法「parseInt("要轉換的值")」。 2.利用位操作符,例「~~123.45」。 3.使用「Math.floor(值)」與「Math.ceil(值)」語法。

javascript怎麼將資料轉換為整數

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

方法1:parseInt()函數

#parseInt() 是一個全域方法,它可以把值轉換為整數。轉換的過程如下:

  • 先解析位置 0 處的字符,如果不是有效數字,則直接傳回 NaN。

  • 如果位置0 處的字符是數字,或者可以轉換為有效數字,則繼續解析位置1 處的字符,如果不是有效數字,則直接返回位置0 處的有效數字。

  • 以此類推,按照從左到右的順序,逐一分析每個字符,直到發現非數字字符為止。

  • parseInt() 將把前面分析合法的數字字元全部轉換為數值並回傳。

1

2

3

console.log(parseInt("123abc"));  //返回数字123

console.log(parseInt("1.73"));   //返回数字1

console.log(parseInt(".123"));   //返回值NaN

登入後複製

浮點數中的點對於 parseInt() 來說屬於非法字符,因此不會轉換小數部分的值。

如果是以 0 開頭的數字字串,則 parseInt() 會把它當作八進位數字處理:先把它轉換為八進制數值,然後再轉換為十進制的數字回傳。

如果是以0x 開頭的數字字串,則parseInt() 會把它當作十六進位數字處理:先把它轉換為十六進制數值,然後再轉換為十進制的數字返回。

1

2

3

4

var d = 010;  //八进制数字字符串

var e = 0x10;  //十六进制数字字符串

console.log(parseInt(d));  //返回十进制数字8

console.log(parseInt(e));  //返回十进制数字16

登入後複製

parseInt() 也支援基底模式,可以把二進位、八進位、十六進位等不同進位的數字字串轉換為整數。基底模式由 parseInt() 函數的第二個參數指定。

範例1

下面程式碼把十六進位數字字串「123abc」轉換成十進位整數。

1

2

var a = "123abc"; 

console.log(parseInt(a,16));  //返回十进制整数1194684

登入後複製

範例2

下面程式碼把二進位、八進位和十進位數字字串轉換為十進位的整數。

1

2

3

console.log(parseInt("10",2));  //把二进制数字 10 转换为十进制整数,为 2

console.log(parseInt("10",8));  //把八进制数字 10 转换为十进制整数,为 8

console.log(parseInt("10",10));  //把十进制数字 10 转换为十进制整数,为 10

登入後複製

範例3

如果第一個參數是十進位的值,包含0 前綴,為了避免被誤解為八進位的數字,則應該指定第二個參數值為10,即顯示定義基底模式,而非採用預設基底模式。

1

2

3

console.log(parseInt("010"));  //把默认基模式数字 010 转换为十进制整数为 10

console.log(parseInt("010",8));  //把八进制数字 010 转换为十进制整数为 8

console.log(parseInt("010",10));  //把十进制数字 010 转换为十进制整数为 10

登入後複製

方法2:位元運算子

1

2

3

4

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

實例

1

2

3

4

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就行了。

解決:

1

2

3

4

//自行定义一个函数

function getInt(val){

return val>0 ? Math.floor(val):Math.ceil(val);

}

登入後複製

【相關推薦:javascript學習教學

#

以上是javascript怎麼將資料轉換為整數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統

PHP浮點數四捨五入法 PHP浮點數四捨五入法 Mar 21, 2024 am 09:21 AM

PHP浮點數四捨五入法

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術

如何使用WebSocket和JavaScript實現線上預約系統 如何使用WebSocket和JavaScript實現線上預約系統 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript實現線上預約系統

PHP浮點數計算誤差原因及避免策略 PHP浮點數計算誤差原因及避免策略 Feb 27, 2024 pm 06:33 PM

PHP浮點數計算誤差原因及避免策略

如何利用JavaScript和WebSocket實現即時線上點餐系統 如何利用JavaScript和WebSocket實現即時線上點餐系統 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket實現即時線上點餐系統

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

JavaScript與WebSocket:打造高效率的即時天氣預報系統

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

簡易JavaScript教學:取得HTTP狀態碼的方法

See all articles