使用JavaScript进行进制转换将字符串转换为十进制

时间:2022-06-04 07:56:48

JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换;

JS中可以直接使用16进制;
var a = 0xff; //255

将任意进制字符串转换为十进制,如二进制,八进制,十六进制, 第二数数不写即为最常用的转换为整型十进制;

 

复制代码 代码如下:

parseInt("11", 2); // 3 2进制转10进制
parseInt("77", 8); // 63 8进制转10进制
parseInt("af", 16); //175 16进制转10进制


将10进制转换为2进制,八进制,十六进制字符串
Object.toString(n) : 即可 (n) 表示进制,如

 

 

复制代码 代码如下:

(152).toString(2) // "10011000" ; 先用括号将152转换“包”成一个对象, 或者如下写法;
152..toString(2) // 这里第一个点将152转换成float类型的小数,第二个点是引出对象方法;
152..toString(16) // "98" : 十进制转16进制
152..toString(32) // "4o" :十提制转32进制

 

同样Javascript支持最大进制是36 (26个英文字母 + 10个数字)

35..toString(36) // "z" : 支持最大编码"Z", 不区分大小写

如果在转换的过程中需要补齐的。可以使用下面的方式:

 

复制代码 代码如下:

/**
* @param num 需要补齐的16为数字
* @param len 要补齐到的位数 这里是
* @returns 补齐后的字符串
* */
function format(num, len) {
var l = num.length;
if (num.length < len) {
for (var i = 0; i < len - l; i++) {
num = "0" + num;
}
}
return num;
}