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