object.toString([radix])
object 轉換對象,radix 要轉換為的進制
parseInt(object, [radix])
object 必選項,轉換對象
radix 可選項,表示 object 的進制,範圍為 2 - 36;如果缺少 radix,則以 0x 開頭的字元串轉換為十六進制,以 0 開頭的字元串轉換為八進制,其它字元串都轉換十進制。
2進制
2進制轉16進制
let code = 10111100;
console.log(code.toString(16));
2進制轉10進制
let code = 110;
console.log(parseInt(code, 2));
2進制轉8進制
let code = 10111100;
console.log(code.toString(8));
8進制
8進制轉16進制
let code = 032;
console.log(code.toString(16));
8進制轉10進制
let code = 032;
console.log(code.toString(10));
8進制轉2進制
let code = 032;
console.log(code.toString(2));
10進制
負10進制轉16進制(大寫)-------如果不合适可以看工具方法
let code = -58827693;
console.log(code);
code = ~code;
console.log(code);
console.log(code.toString(16).toLocaleUpperCase());
10進制轉16進制 (大寫)
let code = 58827693;
console.log(code);
console.log(code.toString(16).toLocaleUpperCase());
10進制轉8進制
let code = 7;
console.log(code.toString(8));
10進制轉2進制
let code = 7;
console.log(code.toString(2));
16進制
16進制轉10進制
let code = 0xAC;
console.log(code.toString(10));
console.log(parseInt(code, 10));
let code = 0xAC;
console.log(code.toString(8));
let code = 0xAC;
console.log(code.toString(2));
工具方法
/**
* 10進制(負數) 轉 16進制
* @param n(string)
* @return string
*/
function decToHex(n) {
return (parseInt(n, 10) >>> 0).toString(16).toLocaleLowerCase()
}
/***
* 長度不夠補0
* @param src(string)
* @param n(number)
*/
function strPad(src, n) {
let len = src.toString().length
while (len < n) {
src = "0" + src
len++
}
return src
}
// 測試10進制(負數) 轉 16進制
let aCode = -58827693
console.log(decToHex(aCode).toLocaleUpperCase()) // FC7E5C53
// 測試長度不夠補0
let bCode = 111
console.log(strPad(bCode, 10)) // 0000000111