利用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() 相同,它们返回的都是该数字的十进制形式。