標籤:family lin bsp art 進位 rac 設定 ack mil
函數作用:
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") 中,字串中含有千位符。因此造成無法轉換。儘管是非常小的細節,但也應當謹慎。
含有千位符的字串,不能直接轉換,要先去掉千位符,再進行轉換,也是由此引出這篇部落格。
JavaScript中的parseInt和Number函數