十进制转成十六进制


public class Char36 {

public char [] chars = {
'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f','g','h','i','j',
'k','l','m','n','o','p','q','r','s','t',
'u','v','w','x','y','z'
};
public Char36() {

}


/**
* @param Long lnSource
* @return String
* @descript 将十过制的数据转换为两位(右边截取两位)36进制的字符串,参数为Long型十进制数值
*/
public String get36Char(Long lnSource){
String str36Char = new String();
String str36Char_B = new String();
String str36Char_E = new String();

long lnBvalue = lnSource/36;
long lnB = lnBvalue%36;

long lnE = lnSource%36;

//获取首位字符
char char_B = chars[Integer.valueOf(String.valueOf(lnB)).intValue()];
str36Char_B = String.valueOf(char_B);
//获取第二位字符
char char_E = chars[Integer.valueOf(String.valueOf(lnE)).intValue()];
str36Char_E = String.valueOf(char_E);

//获取36进制的两位字符
str36Char = str36Char_B + str36Char_E;
return str36Char;
}


/**
* @param Long lnSource
* @param int intLenght
* @return String
* @descript 将十进制的数字转换为36进制,参数为Long型十进制数字及int型36进制字符长度
*/
public String get36Char(Long lnSource,int intLenght){
//建立数组,用于存储36进制的字符
char [] chs = new char [intLenght];
String str36Char = new String("");
long lnBvalue = lnSource;
for(int i=0; i<intLenght; i++){
long lng_Mod;
char char_Mod;
lng_Mod = lnBvalue%36;
char_Mod = chars[Integer.valueOf(String.valueOf(lng_Mod)).intValue()];
chs[i] = char_Mod;
if(lnBvalue/36==0){
str36Char=String.valueOf(char_Mod);
return str36Char;
}
if(lnBvalue/36<36){
char_Mod = chars[Integer.valueOf(String.valueOf(lnBvalue/36)).intValue()];
chs[i+1] = char_Mod;
for(int j =0; j<i+2; j++){
str36Char = String.valueOf(chs[j])+str36Char;
}
return str36Char;
}else{
lnBvalue = lnBvalue/36;
}

}
return str36Char;

}
}

[quote]今天是第一次发帖,希望跟大家多多交流,不足之处希望大家能够提出来!谢谢[/quote]

    原文作者:进制转换
    原文地址: https://blog.csdn.net/iteye_7841/article/details/81883113
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞