js parseInt()与Number()区别
說到轉(zhuǎn)換成數(shù)字類型,我首先想到的是parseInt()方法,后來接觸多了才發(fā)現(xiàn)還有一個Number()方法,同樣是轉(zhuǎn)換成數(shù)字類型,這兩種方法有什么不同的呢?
1.parseInt():
? ? ?parseInt(string,radix):將字符串解析轉(zhuǎn)化為數(shù)字類型,返回的是整數(shù);
? ? ? ? ? string:待被解析的字符串;
? ? ? ? radix:表示要解析轉(zhuǎn)換的進制
? ? ? ?PS:(如果省略該參數(shù)或其值為 0,則數(shù)字將以 10 為基礎(chǔ)來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數(shù)。如果該參數(shù)小于 2 或者大于 36,則 parseInt() 將? ? ? ? ? ? ? ? 返 回 NaN);
例:
alert(parseInt("10")) ; //10 alert(parseInt("19",10)); //19,1*10^1+9*10^0=19 alert(parseInt("11","2")); //3,1*2^1+1*2^0=3 alert(parseInt("17","8")); //15,1*8^1=7*8^0=15當遇到數(shù)字后帶有字符串,則只返回前面的數(shù)字(例parseInt(123mgn)=123),如果字符串的第一個字符不能被轉(zhuǎn)換為數(shù)字,那么 parseFloat() 會返回 NaN。
?
2.Number()
? ? ? Number(object):將對象的值轉(zhuǎn)換為數(shù)字;
? ? ? ??如果對象的值無法轉(zhuǎn)換為數(shù)字,那么 Number() 函數(shù)返回 NaN。
? ? ? ?如果參數(shù)是 Date 對象,Number() 返回從 1970 年 1 月 1 日至今的毫秒數(shù)。
<script type="text/javascript">var test1= new Boolean(true); var test2= new Boolean(false); var test4= new String("999"); var test5= new String("999 888");document.write(Number(test1)+ "<br />"); //1 document.write(Number(test2)+ "<br />"); //0 document.write(Number(test4)+ "<br />"); //999 document.write(Number(test5)+ "<br />"); //NaN</script>?
為了更直觀的體會兩者之間的區(qū)別,我們看一下兩種方法的結(jié)果:
//當字符串只有數(shù)字組成 var numbeTrans="9898"; alert(parseInt(numberTrans)); //9898 alert(Number(numberTrans)); //9898//當數(shù)字只有字母組成 var numbeTrans="abab"; alert(parseInt(numberTrans)); //NaN alert(Number(numberTrans)); //NaN//當字符串由字母與數(shù)字組成 var numbeTrans="123ab"; alert(parseInt(numberTrans)); //123 alert(Number(numberTrans)); //NaN//當字符串為小數(shù)時 var numbeTrans="123.123"; alert(parseInt(numberTrans)); //123 alert(Number(numberTrans)); //123.123//當字符串為空null時 var numbeTrans="null"; alert(parseInt(numberTrans)); //NaN alert(Number(numberTrans)); //0//當字符串為空“ ”時 var numbeTrans=" "; alert(parseInt(numberTrans)); //NaN alert(Number(numberTrans)); //0?
轉(zhuǎn)載于:https://www.cnblogs.com/xiao-baobao/p/10158516.html
總結(jié)
以上是生活随笔為你收集整理的js parseInt()与Number()区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实现 通过数据库里一个字段值相等
- 下一篇: bzoj 2007 [Noi2010]海