将十进制数转换位3位的36进制数(字符串)
/**
* 十进制转36进制(这里前端做了拦截,i的最大值为46655)
* @param i
* @return
*/
private String getSerNoStr(int i) {
if(i<36)return "00"+intToChar(i);
if(i<36*36) {
int gw = i % 36;
int sw = (i / 36);
return "0"+intToChar(sw)+intToChar(gw);
}
int gw = i % 36;
int sw = (i / 36) % 36;
int bw = (i / (36*36)) % 36;
return ""+intToChar(bw)+intToChar(sw)+intToChar(gw);
}
将数字转为字符(36位)
/**
* 将数值转为字符(36位)。
* @param mod
* @return
*/
private char intToChar(int mod) {
if(mod == 0)return '0';
if(mod == 1)return '1';
if(mod == 2)return '2';
if(mod == 3)return '3';
if(mod == 4)return '4';
if(mod == 5)return '5';
if(mod == 6)return '6';
if(mod == 7)return '7';
if(mod == 8)return '8';
if(mod == 9)return '9';
return (char) (mod+55);
}