在學習 JavaScript 時,許多人在搜尋「JavaScript 二進位」相關內容時,會接觸到 parseInt 方法。然而,對於這個方法的實際功能,初學者常有誤解,導致無法正確使用。
本文將透過範例與解釋,幫助新手理解 parseInt 的正確用途,以及如何避免常見的錯誤。
parseInt 方法的語法與功能
parseInt 是 JavaScript 中一個用於解析字串的內建函數,其語法如下:
parseInt(string, radix);參數解析
string:欲轉換的字串。radix:指定解析字串時的進位制(基數)。可以是 2(表示二進位)、8(八進位)、10(十進位)或 16(十六進位)。
功能
parseInt 將字串視為指定進位制,並將其解析為對應的十進位數字。
常見誤解與錯誤範例
錯誤範例:誤解 parseInt 可直接生成特定進位數字
許多人誤以為 parseInt 可以將數字轉換為某進位的表示法,例如:
const stringBase = parseInt('6', 2); // 結果為 NaN錯誤原因:
在此範例中,parseInt 的第二個參數 2 表示將字串解析為二進位數字。
但 '6' 並不是合法的二進位字串(因為二進位只允許使用 0 和 1)。
因此,parseInt('6', 2) 會返回 NaN(Not-a-Number)。
常見誤解:
初學者可能預期這段程式碼會輸出 110,即將數字 6 轉換為二進位的表示法。
但實際上,parseInt 的功能是解析特定進位的字串為十進位數字,而非反向操作。
正確理解與使用範例
正確用法
如果想將合法的二進位字串轉換為十進位數字,可以這樣操作:
const decimalNumber = parseInt('110', 2); // 結果為 6
console.log(decimalNumber); // 輸出 6原理:
'110'是合法的二進位字串。parseInt將其解析為對應的十進位數字,返回值為6。
補充:如何將十進位數字轉換為其他進位
若希望將十進位數字轉換為其他進位的字串,可以使用 JavaScript 的 Number.prototype.toString() 方法,例如:
const binaryString = (6).toString(2); // 結果為 '110'
console.log(binaryString); // 輸出 '110'關鍵差異:
parseInt:用於將某進位的字串解析為十進位數字。.toString():用於將十進位數字轉換為其他進位制的字串表示法。
總結
parseInt的核心功能:將指定進位的字串解析為十進位數字,無法直接生成其他進位的數字表示法。- 避免誤解:
parseInt的返回值永遠是十進位數字,無法反向操作。 - 正確轉換方法:若需將數字轉換為其他進位的字串,應使用
.toString()方法。
藉由理解 parseInt 的實際作用與適當用法,新手可以避免常見的誤解與錯誤,在處理不同進位的數據時更加得心應手。