溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

javascript中如何將值轉(zhuǎn)換為數(shù)字類型

發(fā)布時(shí)間:2022-05-07 14:35:01 來源:億速云 閱讀:391 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“javascript中如何將值轉(zhuǎn)換為數(shù)字類型”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“javascript中如何將值轉(zhuǎn)換為數(shù)字類型”吧!

轉(zhuǎn)換為數(shù)字類型的方法:1、使用parseInt()函數(shù),可以把值轉(zhuǎn)換為整數(shù),語法“parseInt(值)”;2、使用parseFloat()函數(shù),可以把值轉(zhuǎn)換為浮點(diǎn)數(shù),語法“parseFloat(值)”;3、利用乘號(hào)運(yùn)算符,語法“值*1”。

javascript將值轉(zhuǎn)換為數(shù)字類型的方法:

方法1:使用 parseInt()函數(shù)

parseInt() 是一個(gè)全局方法,它可以把值轉(zhuǎn)換為整數(shù)。轉(zhuǎn)換的過程如下:

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

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

  • 以此類推,按照從左到右的順序,逐個(gè)分析每個(gè)字符,直到發(fā)現(xiàn)非數(shù)字字符為止。

  • parseInt() 將把前面分析合法的數(shù)字字符全部轉(zhuǎn)換為數(shù)值并返回。

console.log(parseInt("123abc"));  //返回?cái)?shù)字123
console.log(parseInt("1.73"));   //返回?cái)?shù)字1
console.log(parseInt(".123"));   //返回值NaN

浮點(diǎn)數(shù)中的點(diǎn)對(duì)于 parseInt() 來說屬于非法字符,因此不會(huì)轉(zhuǎn)換小數(shù)部分的值。

如果是以 0 開頭的數(shù)字字符串,則 parseInt() 會(huì)把它作為八進(jìn)制數(shù)字處理:先把它轉(zhuǎn)換為八進(jìn)制數(shù)值,然后再轉(zhuǎn)換為十進(jìn)制的數(shù)字返回。

如果是以 0x 開頭的數(shù)字字符串,則 parseInt() 會(huì)把它作為十六進(jìn)制數(shù)字處理:先把它轉(zhuǎn)換為十六進(jìn)制數(shù)值,然后再轉(zhuǎn)換為十進(jìn)制的數(shù)字返回。

var d = 010;  //八進(jìn)制數(shù)字字符串
var e = 0x10;  //十六進(jìn)制數(shù)字字符串
console.log(parseInt(d));  //返回十進(jìn)制數(shù)字8
console.log(parseInt(e));  //返回十進(jìn)制數(shù)字16

parseInt() 也支持基模式,可以把二進(jìn)制、八進(jìn)制、十六進(jìn)制等不同進(jìn)制的數(shù)字字符串轉(zhuǎn)換為整數(shù)?;J接?parseInt() 函數(shù)的第二個(gè)參數(shù)指定。

示例

下面代碼把二進(jìn)制、八進(jìn)制和十進(jìn)制數(shù)字字符串轉(zhuǎn)換為十進(jìn)制的整數(shù)。

console.log(parseInt("10",2));  //把二進(jìn)制數(shù)字 10 轉(zhuǎn)換為十進(jìn)制整數(shù),為 2
console.log(parseInt("10",8));  //把八進(jìn)制數(shù)字 10 轉(zhuǎn)換為十進(jìn)制整數(shù),為 8
console.log(parseInt("10",10));  //把十進(jìn)制數(shù)字 10 轉(zhuǎn)換為十進(jìn)制整數(shù),為 10

方法2:使用 parseFloat() 函數(shù)

parseFloat() 也是一個(gè)全局方法,它可以把值轉(zhuǎn)換為浮點(diǎn)數(shù),即它能夠識(shí)別第一個(gè)出現(xiàn)的小數(shù)點(diǎn),而第二個(gè)小數(shù)點(diǎn)被視為非法。解析過程與 parseInt() 方法相同。

console.log(parseFloat("1.234.5"));  //返回?cái)?shù)值 1.234

parseFloat() 的參數(shù)必須是十進(jìn)制形式的字符串,而不能使用八進(jìn)制或十六進(jìn)制的數(shù)字字符串。同時(shí),對(duì)于數(shù)字前面的 0(八進(jìn)制數(shù)字標(biāo)識(shí))會(huì)忽略,對(duì)于十六進(jìn)制的數(shù)字將返回 0。

console.log(parseFloat("123"));  //返回?cái)?shù)值 123
console.log(parseFloat("123abc"));  //返回?cái)?shù)值 123
console.log(parseFloat("010"));  //返回?cái)?shù)值 10
console.log(parseFloat("0x10"));  //返回?cái)?shù)值 0
console.log(parseFloat("x10"));  //返回?cái)?shù)值 NaN

方法3:使用乘號(hào)運(yùn)算符

如果變量乘以 1,則變量會(huì)被 JavaScript 自動(dòng)轉(zhuǎn)換為數(shù)值。乘以 1 之后,結(jié)果沒有發(fā)生變化,但是值的類型被轉(zhuǎn)換為數(shù)值。如果值無法被緩緩為合法的數(shù)值,則返回 NaN。

var a = 1;  //數(shù)值
var b = "1";  //數(shù)字字符串
console.log(a + (b * 1));  //返回?cái)?shù)值 2

到此,相信大家對(duì)“javascript中如何將值轉(zhuǎn)換為數(shù)字類型”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI