JS 是一個很神奇的語言,內(nèi)制的的很多函數(shù)可以幫我們進行數(shù)(進)制轉(zhuǎn)換;
JS中可以直接使用16進制;
var a = 0xff; //255
將任意進制字符串轉(zhuǎn)換為十進制,如二進制,八進制,十六進制, 第二數(shù)數(shù)不寫即為最常用的轉(zhuǎn)換為整型十進制;
代碼如下:
parseInt("11", 2); // 3 2進制轉(zhuǎn)10進制
parseInt("77", 8); // 63 8進制轉(zhuǎn)10進制
parseInt("af", 16); //175 16進制轉(zhuǎn)10進制
將10進制轉(zhuǎn)換為2進制,八進制,十六進制字符串
Object.toString(n) : 即可 (n) 表示進制,如
代碼如下:
(152).toString(2) // "10011000" ; 先用括號將152轉(zhuǎn)換“包”成一個對象, 或者如下寫法;
152..toString(2) // 這里第一個點將152轉(zhuǎn)換成float類型的小數(shù),第二個點是引出對象方法;
152..toString(16) // "98" : 十進制轉(zhuǎn)16進制
152..toString(32) // "4o" :十提制轉(zhuǎn)32進制
同樣Javascript支持最大進制是36 (26個英文字母 + 10個數(shù)字)
35..toString(36) // "z" : 支持最大編碼"Z", 不區(qū)分大小寫
如果在轉(zhuǎn)換的過程中需要補齊的??梢允褂孟旅娴姆绞剑?/P>
代碼如下:
/**
* @param num 需要補齊的16為數(shù)字
* @param len 要補齊到的位數(shù) 這里是
* @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;
}
更多信息請查看IT技術(shù)專欄