方法1:使用Integer自带的方法以十进制获取数值,并以十六进制输出为字符串
使用该方法也能实现其他进制数之间的互转,但是使用Int类型也就意味着能转的数值不能大于2147483647。
/**
* 十进制数据转换为十六进制字符串数
*
* @param dec
* @return
*/
public static String decToHex(String dec) {
int data = Integer.parseInt(dec, 10);
return Integer.toString(data, 16);
}
/**
* 十六进制数据转换为十进制字符串数
*
* @param hex
* @return
*/
public static String hexToDec(String hex) {
int data = Integer.parseInt(hex, 16);
return Integer.toString(data, 10);
}
方法2:通过数值的计算获取十六进制数值
这里使用BigDecimal类进行计算以打破方法1的范围限制,但是该方法只能用于十进制数转十六进制数,无法做到方法1的其他进制之间也能转换。
/**
* 十进制数据转换为十六进制字符串数
*
* @param dec
* @return
*/
public static String decToHex(String dec) {
BigDec