JavaScript?中的?parseInt()?函數(shù)詳解
parseInt() 函數(shù)可解析一個(gè)字符串,并返回一個(gè)整數(shù)。
parseInt 可以接受 2 個(gè)函數(shù)。
parseInt(string, radix) 解析一個(gè)字符串并返回指定基數(shù)的十進(jìn)制整數(shù), radix 是2-36之間的整數(shù),表示被解析字符串的基數(shù)。
當(dāng)參數(shù) radix 的值為 0,或沒(méi)有設(shè)置該參數(shù)時(shí),parseInt() 會(huì)根據(jù) string 來(lái)判斷數(shù)字的基數(shù)。
參數(shù)
string
要被解析的值。如果參數(shù)不是一個(gè)字符串,則將其轉(zhuǎn)換為字符串(使用 ToString 抽象操作)。字符串開(kāi)頭的空白符將會(huì)被忽略。
radix 可選
從 2 到 36,表示字符串的基數(shù)。例如指定 16 表示被解析值是十六進(jìn)制數(shù)。請(qǐng)注意,10不是默認(rèn)值!
描述
parseInt函數(shù)將其第一個(gè)參數(shù)轉(zhuǎn)換為一個(gè)字符串,對(duì)該字符串進(jìn)行解析,然后返回一個(gè)整數(shù)或 NaN。
如果不是NaN,返回值將是以第一個(gè)參數(shù)作為指定基數(shù) radix 的轉(zhuǎn)換后的十進(jìn)制整數(shù)。(例如,radix為10,就是可以轉(zhuǎn)換十進(jìn)制數(shù),為8可以轉(zhuǎn)換八進(jìn)制數(shù)"07",16可以轉(zhuǎn)換十六進(jìn)制數(shù)"0xff",以此類推)。
對(duì)于 radix 為10以上的,英文字母表示大于9的數(shù)字。例如,對(duì)于十六進(jìn)制數(shù)(基數(shù)16),則使用 A 到 F 。
如果 parseInt 遇到的字符不是指定 radix 參數(shù)中的數(shù)字,它將忽略該字符以及所有后續(xù)字符,并返回到該點(diǎn)為止已解析的整數(shù)值。 parseInt 將數(shù)字截?cái)酁檎麛?shù)值。 允許前導(dǎo)和尾隨空格。
由于某些數(shù)字在其字符串表示形式中使用e字符(例如 6.022×23 表示 6.022e23 ),因此當(dāng)對(duì)非常大或非常小的數(shù)字使用數(shù)字時(shí),使用 parseInt 截?cái)鄶?shù)字將產(chǎn)生意外結(jié)果。 parseInt不應(yīng)替代Math.floor()。
parseInt 可以理解兩個(gè)符號(hào)。+ 表示正數(shù),- 表示負(fù)數(shù)(從ECMAScript 1開(kāi)始)。它是在去掉空格后作為解析的初始步驟進(jìn)行的。如果沒(méi)有找到符號(hào),算法將進(jìn)入下一步;否則,它將刪除符號(hào),并對(duì)字符串的其余部分進(jìn)行數(shù)字解析。
如果 radix 是 undefined、0或未指定的,JavaScript會(huì)假定以下情況:
- 如果輸入的
string以 "0x"或 “0x”(一個(gè)0,后面是小寫或大寫的X)開(kāi)頭,那么radix被假定為16,字符串的其余部分被當(dāng)做十六進(jìn)制數(shù)去解析。 - 如果輸入的
string以 “0”(0)開(kāi)頭,radix被假定為8(八進(jìn)制)或10(十進(jìn)制)。具體選擇哪一個(gè)radix取決于實(shí)現(xiàn)。ECMAScript 5 澄清了應(yīng)該使用 10 (十進(jìn)制),但不是所有的瀏覽器都支持。因此,在使用parseInt時(shí),一定要指定一個(gè) radix。 - 如果輸入的
string以任何其他值開(kāi)頭,radix是10(十進(jìn)制)。
如果第一個(gè)字符不能轉(zhuǎn)換為數(shù)字,parseInt會(huì)返回 NaN。
為了算術(shù)的目的,NaN 值不能作為任何 radix 的數(shù)字。你可以調(diào)用isNaN函數(shù)來(lái)確定parseInt的結(jié)果是否為 NaN。如果將NaN傳遞給算術(shù)運(yùn)算,則運(yùn)算結(jié)果也將是 NaN。
要將一個(gè)數(shù)字轉(zhuǎn)換為特定的 radix 中的字符串字段,請(qǐng)使用 thatNumber.toString(radix)函數(shù)。
總結(jié)
通常我們都會(huì)使用 parseInt 來(lái)轉(zhuǎn)換成一個(gè) 10 進(jìn)制的數(shù)。
一個(gè)使用場(chǎng)景是你在參數(shù)中傳入了一個(gè)字符串來(lái)表示當(dāng)前時(shí)間的 Unix 時(shí)間,你需要將這個(gè)時(shí)間首先轉(zhuǎn)換成整數(shù)后再用來(lái)構(gòu)造 moment 對(duì)象。
在 IntelliJ IDEA 中,使用了不同的顏色來(lái)區(qū)分結(jié)果的類型。
同時(shí)如果是字符的話,IntelliJ IDEA 會(huì)使用引號(hào)。
如果上面圖中的對(duì)比。
當(dāng)然,你也可以直接寫成
moment.utc(+duplicateData.timeStamp)
在方法前面添加一個(gè) + 號(hào)也會(huì)幫你完成轉(zhuǎn)換的。
有個(gè)同學(xué)做了下面的一個(gè)表,覺(jué)得挺好的,能夠幫助你在轉(zhuǎn)換的時(shí)候參考下。
parseInt 轉(zhuǎn)換和可能出現(xiàn) NaN 的情況。
到此這篇關(guān)于JavaScript 的 parseInt() 函數(shù)的文章就介紹到這了,更多相關(guān)js parseInt() 函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript中number轉(zhuǎn)換成string介紹
這篇文章主要介紹了JavaScript中number轉(zhuǎn)換成string介紹,本文講解了4個(gè)把number轉(zhuǎn)換成string的函數(shù),需要的朋友可以參考下2014-12-12
js實(shí)現(xiàn)類似jquery里animate動(dòng)畫效果的方法
這篇文章主要介紹了js實(shí)現(xiàn)類似jquery里animate動(dòng)畫效果的方法,實(shí)例分析了javascript模擬實(shí)現(xiàn)jQuery中animate動(dòng)畫效果的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04
微信小程序?qū)崿F(xiàn)獲取準(zhǔn)確的騰訊定位地址功能示例
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)獲取準(zhǔn)確的騰訊定位地址功能,結(jié)合實(shí)例形式詳細(xì)分析了微信小程序使用騰訊地理位置接口的相關(guān)注冊(cè)、操作步驟及接口使用技巧,需要的朋友可以參考下2019-03-03
js 巧妙去除數(shù)組中的重復(fù)項(xiàng)
最近, 我在看YAHOO.util.YUILoader類的源碼, 其中有個(gè)排除數(shù)組重復(fù)項(xiàng)的方法, 讓我覺(jué)得甚為巧妙, 這里分享下…2010-01-01
原型方法的不同寫法居然會(huì)影響調(diào)試的解決方法
原型方法的不同寫法居然會(huì)影響調(diào)試的解決方法...2007-03-03
可以用來(lái)調(diào)試JavaScript錯(cuò)誤的解決方案
我們?cè)跁鴮慾s的過(guò)程中,經(jīng)常會(huì)出現(xiàn)一些js錯(cuò)誤,對(duì)于如果找出錯(cuò)誤的解決方法就是關(guān)鍵,下面的文章就是相關(guān)的調(diào)試方法。2010-08-08
javascript 動(dòng)態(tài)table添加colspan\rowspan 參數(shù)的方法
動(dòng)態(tài)的給某個(gè)表對(duì)象添加列屬性和行屬性,采用obj.setAttribute("rowspan",n)(即rowspan=n)不能生效。2009-07-07
js對(duì)象合并與數(shù)組合并綜合應(yīng)用舉例
這篇文章主要給大家介紹了關(guān)于js對(duì)象合并與數(shù)組合并綜合應(yīng)用舉例的相關(guān)資料,本文將介紹常見(jiàn)的JS對(duì)象合并和數(shù)組合并方法,幫助讀者更好地理解和運(yùn)用這些方法,需要的朋友可以參考下2023-11-11
layui點(diǎn)擊數(shù)據(jù)表格添加或刪除一行的例子
今天小編就為大家分享一篇layui點(diǎn)擊數(shù)據(jù)表格添加或刪除一行的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09

