进制转换

通过原生js可以实现进制之间转换。

js对象均包含toString、toLocaleString以及valueOf方法,通过原型链的方式继承。由chrome控制台可以打印出Object的原型方法。
1

参照MDN:
Number.prototype.toString([radix]),返回指定 Number 对象的字符串表示形式。其中radix默认10,取值范围2~36。

parseInt(string, radix),解析一个字符串参数,并返回一个指定基数的整数 (数学系统的基础)。如果参数string不是一个字符串,则将其转换为字符串;参数radix默认10,取值范围2~36。

将数字转换进制可以直接转换。

1
2
3
4
5
6
7
var num = 10;
num.toString(2) // 1010
num.toString(8) // 12
num.toString(16) // a

parseInt(num,8); // 八进制转十进制
parseInt(num,16); // 十六进制转十进制

将字符串转换进制。字符串如果不能被转换成正确的数值,返回值为NaN。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var str ='10';
// 十进制转换其它
parseInt(str).toString(2) // 1010
parseInt(str).toString(8) // 12
parseInt(str).toString(16) // a

parseInt(str,2).toString(8) // 二进制转八进制
parseInt(str,2).toString(16) // 二进制转十六进制
parseInt(str,8).toString(2) // 八进制转二进制
parseInt(str,8).toString(16) // 八进制转十六进制
parseInt(str,16).toString(2) // 十六进制转二进制
parseInt(str,16).toString(8) // 十六进制转八进制

parseInt('a').toString(2) // NaN
------本文结束 感谢阅读------