# Java Program For Hexadecimal to Decimal Conversion

• Difficulty Level : Hard
• Last Updated : 09 Mar, 2021

Given a Hexadecimal number N, convert N into an equivalent decimal number i.e convert the number with base value 16 to base value 10. The decimal number system uses 10 digits 0-9 and the Hexadecimal number system uses 0-9, A-F to represent any numeric value.

Illustration:

```Input : 1AB
Output: 427

Input : 1A
Output: 26```

Approach:

1. The idea is to extract the digits of a given hexadecimal number starting from the rightmost digit.
2. Keep a variable ‘dec_value’.
3. At the time of extracting digits from the hexadecimal number, multiply the digit with the proper base (Power of 16) and add it to the above variable taken that is ‘dec_value’.
4. In the end, the variable ‘dec_value’ will store the required decimal number.

convert hexadecimal number ( 1AB ) to equivalent decimal value

Implementation:

Example

## Java

 `// Java program to convert Hexadecimal to Decimal Number`` ` `// Importing input output classes``import` `java.io.*;`` ` `// Main class``class` `GFG {`` ` `    ``// Method``    ``// To convert hexadecimal to decimal``    ``static` `int` `hexadecimalToDecimal(String hexVal)``    ``{``        ``// Storing the length of the``        ``int` `len = hexVal.length();`` ` `        ``// Initializing base value to 1, i.e 16^0``        ``int` `base = ``1``;`` ` `        ``// Initially declaring and initializing``        ``// decimal value to zero``        ``int` `dec_val = ``0``;`` ` `        ``// Extracting characters as``        ``// digits from last character`` ` `        ``for` `(``int` `i = len - ``1``; i >= ``0``; i--) {`` ` `            ``// Condition check``            ``// Case 1``            ``// If character lies in '0'-'9', converting``            ``// it to integral 0-9 by subtracting 48 from``            ``// ASCII value``            ``if` `(hexVal.charAt(i) >= ``'0'``                ``&& hexVal.charAt(i) <= ``'9'``) {``                ``dec_val += (hexVal.charAt(i) - ``48``) * base;`` ` `                ``// Incrementing base by power``                ``base = base * ``16``;``            ``}`` ` `            ``// Case 2``            ``// if case 1 is bypassed`` ` `            ``// Now, if character lies in 'A'-'F' ,``            ``// converting it to integral 10 - 15 by``            ``// subtracting 55 from ASCII value``            ``else` `if` `(hexVal.charAt(i) >= ``'A'``                     ``&& hexVal.charAt(i) <= ``'F'``) {``                ``dec_val += (hexVal.charAt(i) - ``55``) * base;`` ` `                ``// Incrementing base by power``                ``base = base * ``16``;``            ``}``        ``}`` ` `        ``// Returning the decimal value``        ``return` `dec_val;``    ``}`` ` `    ``// Method 2``    ``// Main driver method``    ``public` `static` `void` `main(String[] args)``    ``{``        ``// Custom input hexadecimal number to be``        ``// converted into decimal number``        ``String hexNum = ``"1A"``;`` ` `        ``// Calling the above method to convert and``        ``// alongside printing the hexadecimal number``        ``System.out.println(hexadecimalToDecimal(hexNum));``    ``}``}`

Output

`26`

My Personal Notes arrow_drop_up