Java exception FAQ: What is a Java NumberFormatException?
Solution
A Java NumberFormatException
usually occurs when you try to do something like convert a String
to a numeric value, like an int, float, double, long, etc. The exception indicates that the conversion process failed, such as if you try to convert a string like "foo"
to an int.
NumberFormatException example
The best way to show a NumberFormatException is by example, so here’s an example where I intentionally write bad Java code to throw a NumberFormatException
:
package com.devdaily.javasamples; public class ConvertStringToNumber { public static void main(String[] args) { try { // intentional error String s = "FOOBAR"; int i = Integer.parseInt(s); // this line of code will never be reached System.out.println("int value = " + i); } catch (NumberFormatException nfe) { nfe.printStackTrace(); } } }
Because there’s no way to convert the text FOOBAR
into a number, trying to run this program will result in the following output:
java.lang.NumberFormatException: For input string: "FOOBAR" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Integer.parseInt(Integer.java:447) at java.lang.Integer.parseInt(Integer.java:497) at com.devdaily.javasamples.ConvertStringToNumber.main(ConvertStringToNumber.java:11)
So, a NumberFormatException
is an Exception
that might be thrown when you try to convert a String
into a number, where that number might be an int
, a float
, or any other Java numeric type.