Skip to content

Instantly share code, notes, and snippets.

@lushijie
Last active December 19, 2017 07:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lushijie/3df96958faf49485f85a3c425574df18 to your computer and use it in GitHub Desktop.
Save lushijie/3df96958faf49485f85a3c425574df18 to your computer and use it in GitHub Desktop.
十进制转化为 n 进制
let CHARS = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789-_.~!*()'; // except \'
function decToRadixN(radixChars, numLen) {
let result = [];
let radix = radixChars.length;
return function cacl(dec) {
result.unshift(dec % radix);
if (dec >= radix) {
dec = Math.floor(dec / radix);
return cacl(dec, radix);
}
let lastNum = result.map(function(ele) {
return radixChars[ele];
}).join('');
if (numLen && numLen > lastNum.length) {
lastNum = (Array(numLen).join(CHARS[0]) + lastNum).slice(0 - numLen);
}
return lastNum;
}
}
let num = decToRadixN(CHARS, 8)(490023400);
console.log(num); //AAAKOW2K
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment