# Programming Tutorials

## Converting Numbers to and from Strings using Java

By: Mashoud in Java Tutorials on 2007-09-02

One of the most common programming chores is converting the string representation of a number into its internal, binary format. Fortunately, Java provides an easy way to accomplish this. The Byte, Short, Integer, and Long classes provide the parseByte(), parseShort(), parseInt(), and parseLong() methods, respectively. These methods return the byte, short, int, or long equivalent of the numeric string with which they are called. (Similar methods also exist for the Float and Double classes.)
The following program demonstrates parseInt(). It sums a list of integers entered by the user. It reads the integers using readLine() and uses parseInt() to convert these strings into their int equivalents.

```/* This program sums a list of numbers entered
by the user. It converts the string representation
of each number into an int using parseInt().
*/
import java.io.*;

class ParseDemo {
public static void main(String args[])
throws IOException {
// create a BufferedReader using System.in
String str;
int i;
int sum = 0;
System.out.println("Enter numbers, 0 to quit.");
do {
try {
i = Integer.parseInt(str);
} catch (NumberFormatException e) {
System.out.println("Invalid format");
i = 0;
}
sum += i;
System.out.println("Current sum is: " + sum);
} while (i != 0);
}
}```

To convert a whole number into a decimal string, use the versions of toString() defined in the Byte, Short, Integer, or Long classes. The Integer and Long classes also provide the methods toBinaryString(), toHexString(), and toOctalString(), which convert a value into a binary, hexadecimal, or octal string, respectively.

The following program demonstrates binary, hexadecimal, and octal conversion:

```/*
* Convert an integer into binary, hexadecimal,
* and octal.
*/
class StringConversions {
public static void main(String args[]) {
int num = 19648;
System.out.println(num + " in binary: " +
Integer.toBinaryString(num));
System.out.println(num + " in octal: " +
Integer.toOctalString(num));
System.out.println(num + " in hexadecimal: " +
Integer.toHexString(num));
}
}```

The output of this program is shown here:

`19648 in binary: 10011001100000019648 in octal: 4630019648 in hexadecimal: 4cc0`