In this article, we will see how to convert Octal to Decimal in Java with the help of examples.
There are two ways we can convert an octal value to an equivalent decimal value:
1. Using Integer.parseInt() method and passing the base as 8.
2. Writing our own custom method (logic) to convert octal to decimal.
1. Java Octal to Decimal conversion using Integer.parseInt()
In the following example, we have an octal value stored in a string variable onum
and we are converting it to a decimal value using Integer.parseInt()
method. This method accepts String as an argument and converts it into a decimal value based on the base value provided along with the string as argument.
Here in the Integer.parseInt() method, we have passed the base as 8 because the base value of octal number is 8. If you remember the hexadecimal to decimal conversion, we have passed the base as 16 for the conversion.
public class JavaExample{ public static void main(String args[]) { //octal value String onum = "157"; //octal to decimal using Integer.parseInt() int num = Integer.parseInt(onum, 8); System.out.println("Decimal equivalent of Octal value 157 is: "+num); } }
Output:
In the above example we have hardcoded the octal value, however if you would like to get the octal value from user then you can write the logic like this:
import java.util.Scanner; public class JavaExample{ public static void main(String args[]) { //octal value Scanner scanner = new Scanner(System.in); System.out.print("Enter Octal value: "); String onum = scanner.nextLine(); scanner.close(); //octal to decimal using Integer.parseInt() int num = Integer.parseInt(onum, 8); System.out.println("Decimal equivalent of value "+onum+" is: "+num); } }
Output:
Enter Octal value: 142 Decimal equivalent of value 142 is: 98
2. Java convert Octal to Decimal by writing custom code
In the above example, we have used the method Integer.parseInt() for the conversion, however we can write our own logic to convert an octal value to an equivalent decimal value. Lets write the code: Here we have used while loop and if..else statement.
public class JavaExample{ public static int octalToDecimal(int onum){ //initializing the decimal number as zero int num = 0; //This value will be used as the power int p = 0; while(true){ if(onum == 0){ break; } else { int temp = onum%10; num += temp*Math.pow(8, p); onum = onum/10; p++; } } return num; } public static void main(String args[]){ System.out.println("Decimal equivalent of octal value 143: "+octalToDecimal(143)); } }
Output:
Leave a Reply