JavaScript數(shù)值轉(zhuǎn)換的三種方式總結(jié)
在JavaScript中,數(shù)值轉(zhuǎn)換一般有三種方式:
一、Number(param)函數(shù):param可以用于任何數(shù)據(jù)類(lèi)型
1.1 param是Boolean值,true和false分別轉(zhuǎn)換為1和0;
1.2 param是數(shù)值,只是簡(jiǎn)單的傳入和返回
1.3 param是null和undefined,分別返回0和NaN
1.4 param是字符串,遵循下列規(guī)則:
1.4.1 如果字符串中只包含數(shù)字,則轉(zhuǎn)換為十進(jìn)制,前導(dǎo)0被忽略;
1.4.2 如果字符串中包含有效的浮點(diǎn)數(shù)格式,則返回對(duì)應(yīng)的浮點(diǎn)數(shù)值,前導(dǎo)0被忽略;
1.4.3 如果字符串包含有效的十六進(jìn)制,則返回等大的十進(jìn)制數(shù)值
1.4.4 如果字符串為空,則返回0
1.4.5 如果字符串中包含除上述格式外的字符,則返回NaN
1.5 param是對(duì)象,則調(diào)用valueOf()方法,依照前面的規(guī)則轉(zhuǎn)換返回字符串值,若返回NaN,則調(diào)用toString()方法,再次依照前面的規(guī)則轉(zhuǎn)換返回字符串值。
1.6 示例:
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = Number("hello"); //NaN var num2 = Number(""); //0 var num3 = Number("00022"); //22 var num4 = Number(true); //1</span>
二、parseInt(param):把字符串轉(zhuǎn)換成整數(shù),param是字符串類(lèi)型。
parseInt()忽略字符串前面的空格,直到找到第一個(gè)非空格字符S;若S不是數(shù)字或者負(fù)號(hào),則返回NaN(即parseInt()對(duì)空字符返回NaN,注意Number()對(duì)空返回0),若S是數(shù)字,parseInt()會(huì)繼續(xù)解析下一個(gè)字符,直到解析完所有字符或者遇到了一個(gè)非數(shù)字字符。parseInt()支持對(duì)八進(jìn)制、十六進(jìn)制的解析
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseInt("1234blue"); //1234 var num2 = parseInt(""); //NaN var num3 = parseInt("22.5"); //22 var num4 = parseInt("070"); //八進(jìn)制,轉(zhuǎn)換為十進(jìn)制的56</span>
三、parseIFloat(param):把字符串轉(zhuǎn)換成浮點(diǎn)數(shù),param是字符串類(lèi)型。
與parseInt類(lèi)似,parseFloat()從第一個(gè)字符開(kāi)始解析,直到解析完所有字符或者遇到了一個(gè)非浮點(diǎn)數(shù)字符。第一個(gè)小數(shù)點(diǎn)有效,但是第二個(gè)則無(wú)效,且該函數(shù)只能解析十進(jìn)制數(shù),因?yàn)樗冀K會(huì)忽略前導(dǎo)0.
<span style="font-family:Microsoft YaHei;font-size:18px;">var num1 = parseFloat("1234blue"); // 1234 var num2 = parseFloat("0xf6"); // 0 var num3 = parseFloat("22.5"); // 22.5 var num4 = parseFloat("22.5.4"); //22.5 var num5 = parseFloat("3.125e7"); // 31250000</span>
相關(guān)文章
for 循環(huán)性能比較 提高for循環(huán)的效率
性能有較大的區(qū)別嗎,有必要采取這種寫(xiě)法嗎2009-03-03不到30行JS代碼實(shí)現(xiàn)Excel表格的方法
這篇文章主要介紹了不到30行JS代碼實(shí)現(xiàn)Excel表格的方法,實(shí)現(xiàn)方法簡(jiǎn)單易懂,非常具有實(shí)用價(jià)值,可部分代替jQuery的功能,需要的朋友可以參考下2014-11-11原生js結(jié)合html5制作小飛龍的簡(jiǎn)易跳球
這篇文章主要介紹了原生js結(jié)合html5制作小飛龍的簡(jiǎn)易跳球的方法和代碼分享,推薦給大家,有需要的小伙伴可以參考下。2015-03-03使用純JS實(shí)現(xiàn)checkbox的框選效果(鼠標(biāo)拖拽多選)
最近做了一個(gè)用js實(shí)現(xiàn)鼠標(biāo)拖拽多選的功能,于是整理了一下思路,寫(xiě)了一個(gè)小demo,下面這篇文章主要給大家介紹了關(guān)于如何使用純JS實(shí)現(xiàn)checkbox的框選效果(鼠標(biāo)拖拽多選)的相關(guān)資料,需要的朋友可以參考下2022-05-05