In one of the previous posts, we covered the conversion of a Decimal to Hexadecimal. Here, you will learn how to convert Hexadecimal to Decimal in Java. We will explore the following ways:
- Using the parseInt() method
- Using custom logic
Convert Hexadecimal to Decimal in Java using the parseInt() method
Integer class has a static method parseInt(String s, int radix) that parses the String argument as a signed integer in the radix specified by the second argument.
Example
class Test {
public static void main(String[] args) {
System.out.println(Integer.parseInt("f", 16));
System.out.println(Integer.parseInt("a", 16));
System.out.println(Integer.parseInt("240", 16));
}
}
Output: 15 10 576
Parse Hexadecimal to Decimal using custom logic
There is always a way without using predefined methods, like in the following example:
public class Test {
public static void main(String[] args) {
System.out.println(getDecimal("f"));
System.out.println(getDecimal("a"));
System.out.println(getDecimal("240"));
}
public static int getDecimal(String hexString) {
String digits = "0123456789ABCDEF";
hexString = hexString.toUpperCase();
int value = 0;
for (int i = 0; i < hexString.length(); i++) {
char c = hexString.charAt(i);
int d = digits.indexOf(c);
value = 16 * value + d;
}
return value;
}
}
Output: 15 10 576
Happy coding!