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