JavaScript中的parseInt和Number函數,javascriptparseint
函數作用:
parseInt將字串(String)類型轉為整數類型。
Number() 函數把對象(Object)的值轉換為數字。
文法不同:
parseInt(string, [radix])
string:必選參數,要被轉換的字串
radix:可選,數位基數。取值範圍在2~36。
如果該參數小於 2 或者大於 36,則 parseInt() 將返回 NaN。
<pre name="code" class="javascript"> alert("parseInt1返回 " + parseInt("1", 1)); //返回NaN alert("parseInt0x123 " + parseInt("0x123")); //291 alert("parseInt000123 " + parseInt("000123")); //123
當參數 radix 的值為 0,或沒有設定該參數時,parseInt() 會根據 string 來判斷數位基數。 如果 string 以 "0x" 開頭,parseInt() 會把 string 的其餘部分解析為十六進位的整數。如果 string 以 0 開頭,那麼 ECMAScript v3 允許 parseInt() 的一個實現把其後的字元解析為八進位或十六進位的數字。如果 string 以 1 ~ 9 的數字開頭,parseInt() 將把它解析為十進位的整數。
Number(object)
Number返回的是數字,其參數是對象。
如果對象的值無法轉換為數字,那麼 Number() 函數會返回 NaN。
var test = new Date() var testStr = new String("123"); var testStr1 = new String("5,000"); alert("Number(test) " + Number(test)); //返回1437631091369 alert("Number(testStr) " + Number(testStr)); //返回123 alert("Number(testStr1) " + Number(testStr1)); //返回NaN
在 var testStr1 = new String("5,000") 中,字串中含有千位符,因此造成無法轉換。雖然是很小的細節,但也應當謹慎。含有千位符的字串,不能直接轉換,要先去掉千位符,再進行轉換,也是由此引出這篇部落格。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。