首頁  >  文章  >  web前端  >  javascript怎麼將值轉換為數字類型

javascript怎麼將值轉換為數字類型

青灯夜游
青灯夜游原創
2021-06-23 15:22:193894瀏覽

轉換成數字類型的方法:1、使用parseInt()函數,可以把值轉換成整數,語法「parseInt(值)」;2、使用parseFloat()函數,可以把值轉換成浮點數,語法「parseFloat(值)」;3、利用乘號運算符,語法「值*1」。

javascript怎麼將值轉換為數字類型

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

javascript將值轉換為數字類型的方法:

#方法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() 函數的第二個參數指定。

範例

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

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

方法2:使用parseFloat() 函數

#parseFloat() 也是一個全域方法,它可以把值轉換為浮點數,也就是它能夠辨識第一個出現的小數點,而第二個小數點被視為非法。解析過程與 parseInt() 方法相同。

console.log(parseFloat("1.234.5"));  //返回数值 1.234

parseFloat() 的參數必須是十進位形式的字串,而不能使用八進位或十六進位的數字字串。同時,對於數字前面的 0(八進位數字標識)會忽略,對於十六進位的數字將傳回 0。

console.log(parseFloat("123"));  //返回数值 123
console.log(parseFloat("123abc"));  //返回数值 123
console.log(parseFloat("010"));  //返回数值 10
console.log(parseFloat("0x10"));  //返回数值 0
console.log(parseFloat("x10"));  //返回数值 NaN

方法3:使用乘號運算子

如果變數乘以 1,則變數會被 JavaScript 自動轉換為數值。乘以 1 之後,結果沒有變化,但是值的型別轉換為數值。如果值無法緩緩為合法的數值,則傳回 NaN。

var a = 1;  //数值
var b = "1";  //数字字符串
console.log(a + (b * 1));  //返回数值 2

【相關推薦:javascript學習教學

#

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

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