利用toString和parseInt的基模式來進行轉換:
10進制==》2進制:
var a = 12;
console.log(a.toString(2));//==>1100
10進制==>8進制:
console.log(a.toString(8));//==>14
2進制轉10進制:
var iNum1 = parseInt("11000100 ", 2); console.log(iNum1);//==> 192
ECMAScript對數字類型的toString描述如下:
Number 類型的 toString() 方法比較特殊,它有兩種模式,即默認模式和基模式。採用默認模式,toString() 方法只是用相應的字符串輸出數字值(無論是整數、浮點數還是科學計數法),如下所示:
var iNum1 = 10; var iNum2 = 10.0; alert(iNum1.toString()); //輸出 "10"alert(iNum2.toString()); //輸出 "10"
註釋:在默認模式中,無論最初採用什麼表示法聲明數字,Number 類型的 toString() 方法返回的都是數字的十進制表示。因此,以八進制或十六進制字面量形式聲明的數字輸出的都是十進制形式的。
採用 Number 類型的 toString() 方法的基模式,可以用不同的基輸出數字,例如二進制的基是 2,八進制的基是 8,十六進制的基是 16。
基只是要轉換成的基數的另一種加法而已,它是 toString() 方法的參數:
var iNum = 10; alert(iNum.toString(2)); //輸出 "1010"alert(iNum.toString(8)); //輸出 "12"alert(iNum.toString(16)); //輸出 "A"
在前面的示例中,以 3 種不同的形式輸出了數字 10,即二進制形式、八進制形式和十六進制形式。HTML 採用十六進制表示每種顏色,在 HTML 中處理數字時這種功能非常有用。
註釋:對數字調用 toString(10) 與調用 toString() 相同,它們返回的都是該數字的十進制形式。