萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> 利用進制轉換壓縮數字函數分享

利用進制轉換壓縮數字函數分享

 本文主要介紹了進制轉換函數,用於壓縮數字,比如Date.now()這樣的長數字,用62進制表示,就更短,大家參考使用吧

代碼如下: function zipNum(num, radix){     if(!zipNum.zip){         zipNum.zip = function(inputNum){             if(inputNum > 35){//用大寫字母表示36-61                 return String.fromCharCode('A'.charCodeAt(0) + inputNum % 36);             } else if(inputNum > 9){//用小寫字母表示10-35                 return String.fromCharCode('a'.charCodeAt(0) + inputNum % 10);             } else {                 return inputNum;             }         }     }     var quotient = num, remainder, result;     if(radix > 36 && radix < 63){         result = [];         do {             remainder = quotient % radix;             quotient = parseInt(quotient / radix);             result.push(zipNum.zip(remainder));         }while(quotient > radix);         remainder = quotient % radix;         if(remainder !== 0){             result.push(zipNum.zip(remainder));         }         result = result.reverse().join('');     } else if(radix > 1 && radix < 36){         result = num.toString(radix);     } else {         result = num;         window.console && console.warn('radix argument must be between 2 and 62')     }     return result; }   function testSortNum(){     assertEquals(zipNum(61, 62), 'Z');     assertEquals(zipNum(62 * 2 - 1, 62), '1Z');     assertEquals(zipNum(62 * 3 - 1, 62), '2Z');     assertEquals(zipNum(1361182624991, 62), 'dXN5fJB'); } testSortNum();
copyright © 萬盛學電腦網 all rights reserved