詳解JS轉(zhuǎn)換數(shù)值函數(shù)Number()、parseInt()、parseFloat()
JS中有三種函數(shù)可以將非數(shù)值轉(zhuǎn)換成數(shù)值:Number()、parseInt()和parseFloat()。第一個(gè)函數(shù),即轉(zhuǎn)型函數(shù)Number()可以用于任何數(shù)據(jù)類型,而另外兩個(gè)函數(shù)則專門用于把字符串轉(zhuǎn)換成數(shù)值。這3個(gè)函數(shù)對(duì)于同樣的輸入會(huì)返回不同的結(jié)果。
Number()
Number()函數(shù)的轉(zhuǎn)換規(guī)則如下:
•如果參數(shù)是Date對(duì)象,返回從1970年1月1日至今的毫秒數(shù)。
•如果是Boolean值,true和false將分別被替換為1和0
•如果是數(shù)字值,只是簡單的傳入和返回
•如果是null值,返回0
•如果是undefined,返回NaN
•如果是字符串,遵循下列規(guī)則: •如果字符串只包含數(shù)字(包括十六進(jìn)制格式“0x”),則將其轉(zhuǎn)換成對(duì)應(yīng)的十進(jìn)制。
•如果字符串是空的,返回0。
•如果字符串包含其它字符,返回NaN。
•如果是對(duì)象,則調(diào)用對(duì)象的valueOf()方法,然后依照前面的規(guī)則轉(zhuǎn)換返回的值。如果轉(zhuǎn)換的結(jié)果是NaN,則調(diào)用對(duì)象的toString()方法,然后再依次按照前面的規(guī)則轉(zhuǎn)換返回的字符串值。
document.write(Number(true)+"<br/>"); //返回1 document.write(Number(false)+"<br/>"); //返回0 document.write(Number(null)+"<br/>"); //返回0 document.write(Number(undefined)+"<br/>"); //返回NaN document.write(Number("001")+"<br/>"); //返回1 document.write(Number("001.1")+"<br/>"); //返回1.1 document.write(Number("0x10")+"<br/>"); //返回16 document.write(Number(new String("11aa"))+"<br/>"); //返回NaN
parseInt()
返回由字符串轉(zhuǎn)換得到的整數(shù)。
parseInt(numString, [radix])
參數(shù)
numString必選項(xiàng)。要轉(zhuǎn)換為數(shù)字的字符串。radix可選項(xiàng)。在 2 和 36 之間的表示 numString 所保存數(shù)字的進(jìn)制的值。如果沒有提供,則前綴為 '0x' 的字符串被當(dāng)作十六進(jìn)制,前綴為 '0' 的字符串被當(dāng)作八進(jìn)制。所有其它字符串都被當(dāng)作是十進(jìn)制的。
說明
parseInt()方法返回與保存在numString中的數(shù)字值相等的整數(shù)。如果numString的前綴不能解釋為整數(shù),則返回NaN(而不是數(shù)字)。它會(huì)忽略字符串前面的空格,直至找到第一個(gè)非空格字符。
示例
document.write(parseInt("1")+"<br/>"); //返回1 document.write(parseInt(" 1")+"<br/>"); //返回1 document.write(parseInt("1.1")+"<br/>"); //返回1 document.write(parseInt("11aa")+"<br/>"); //返回11 document.write(parseInt("020")+"<br/>"); //返回16(八進(jìn)制) document.write(parseInt("")+"<br/>"); //返回NaN document.write(parseInt("AF")+"<br/>"); //返回NaN document.write(parseInt("AF",16)+"<br/>"); //返回175 document.write(parseInt("0xAF")+"<br/>"); //返回175
parseFloat()
返回由字符串轉(zhuǎn)換得到的浮點(diǎn)數(shù)。
parseFloat(numString)
必選項(xiàng) numString 參數(shù)是包含浮點(diǎn)數(shù)的字符串。
說明
parseFloat()返回與numString中保存的數(shù)相等的數(shù)字表示。如果numString的前綴不能解釋為浮點(diǎn)數(shù),則返回NaN(而不是數(shù)字)。
總結(jié)
以上所述是小編給大家介紹的JS轉(zhuǎn)換數(shù)值函數(shù)Number()、parseInt()、parseFloat(),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JavaScript類型相關(guān)的常用操作總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript類型相關(guān)的常用操作,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02Js日期選擇自動(dòng)填充到輸入框(界面漂亮兼容火狐)
本文為大家寫了個(gè)很漂亮、兼容火狐的Js日期選擇,自動(dòng)填充到輸入框,代碼如下,有需要的朋友可以參考下2013-08-08實(shí)例解析js中try、catch、finally的執(zhí)行規(guī)則
本文主要通過實(shí)例解析來更好的了解js中try、catch、finally的執(zhí)行規(guī)則,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02微信小程序?qū)崿F(xiàn)云開發(fā)上傳文件、圖片功能
在使用小程序的過程中,在編輯個(gè)人資料時(shí),通常會(huì)面臨上傳頭像、上傳背景圖片的情況,而這個(gè)開發(fā)過程需要怎樣實(shí)現(xiàn)呢?這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)云開發(fā)上傳文件、圖片功能的相關(guān)資料,需要的朋友可以參考下2022-12-12基于js里調(diào)用函數(shù)時(shí),函數(shù)名帶括號(hào)和不帶括號(hào)的區(qū)別
下面小編就為大家?guī)硪黄趈s里調(diào)用函數(shù)時(shí),函數(shù)名帶括號(hào)和不帶括號(hào)的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07基于Echarts 3.19 制作常用的圖形(非靜態(tài))
這篇文章主要介紹了基于Echarts 3.19 制作常用的圖形(非靜態(tài))的相關(guān)資料,需要的朋友可以參考下2016-05-05JS簡單編號(hào)生成器實(shí)現(xiàn)方法(附demo源碼下載)
這篇文章主要介紹了JS簡單編號(hào)生成器實(shí)現(xiàn)方法,涉及JavaScript針對(duì)表單與字符串操作的相關(guān)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2016-04-04Javascript的console['''']常用輸入方法匯總
本文給大家?guī)砹耸畮追NJavascript的console['']常用輸入方法,每種方法給大家介紹的都很詳細(xì),需要的朋友參考下吧2018-04-04