JavaScript數(shù)值轉(zhuǎn)換的三種方式總結(jié)
在JavaScript中,數(shù)值轉(zhuǎn)換一般有三種方式:
一、Number(param)函數(shù):param可以用于任何數(shù)據(jù)類型
1.1 param是Boolean值,true和false分別轉(zhuǎn)換為1和0;
1.2 param是數(shù)值,只是簡單的傳入和返回
1.3 param是null和undefined,分別返回0和NaN
1.4 param是字符串,遵循下列規(guī)則:
1.4.1 如果字符串中只包含數(shù)字,則轉(zhuǎn)換為十進制,前導(dǎo)0被忽略;
1.4.2 如果字符串中包含有效的浮點數(shù)格式,則返回對應(yīng)的浮點數(shù)值,前導(dǎo)0被忽略;
1.4.3 如果字符串包含有效的十六進制,則返回等大的十進制數(shù)值
1.4.4 如果字符串為空,則返回0
1.4.5 如果字符串中包含除上述格式外的字符,則返回NaN
1.5 param是對象,則調(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是字符串類型。
parseInt()忽略字符串前面的空格,直到找到第一個非空格字符S;若S不是數(shù)字或者負(fù)號,則返回NaN(即parseInt()對空字符返回NaN,注意Number()對空返回0),若S是數(shù)字,parseInt()會繼續(xù)解析下一個字符,直到解析完所有字符或者遇到了一個非數(shù)字字符。parseInt()支持對八進制、十六進制的解析
<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"); //八進制,轉(zhuǎn)換為十進制的56</span>
三、parseIFloat(param):把字符串轉(zhuǎn)換成浮點數(shù),param是字符串類型。
與parseInt類似,parseFloat()從第一個字符開始解析,直到解析完所有字符或者遇到了一個非浮點數(shù)字符。第一個小數(shù)點有效,但是第二個則無效,且該函數(shù)只能解析十進制數(shù),因為它始終會忽略前導(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ū)別嗎,有必要采取這種寫法嗎2009-03-03使用純JS實現(xiàn)checkbox的框選效果(鼠標(biāo)拖拽多選)
最近做了一個用js實現(xiàn)鼠標(biāo)拖拽多選的功能,于是整理了一下思路,寫了一個小demo,下面這篇文章主要給大家介紹了關(guān)于如何使用純JS實現(xiàn)checkbox的框選效果(鼠標(biāo)拖拽多選)的相關(guān)資料,需要的朋友可以參考下2022-05-05