写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
示例1
输入
0xA
输出
10
解法:
public static String str0xToDecimalSystem(String str0x0){
int sum = 0;
int length = str0x0.length();
String str0x = str0x0.substring(2, length);
length -=2;
for(int i=0; i<length; i++){
// 从低位遍历字符
char place = str0x.charAt(length - i -1);
// 当前位的字符数字
int placeNum;
if ('A' <= place && place <= 'F') {
placeNum = place - 'A' + 10;
} else {
placeNum = Integer.parseInt(String.valueOf(place));
}
// 按权相加
placeNum *= Math.pow(16, i);
sum += placeNum;
}
return String.valueOf(sum);
}