Check if a given string is a valid number (Integer or Floating Point) in Java - GeeksforGeeks

11 Dec, 2018
In the article Check if a given string is a valid number, we have discussed general approach to check whether a string is a valid number or not. In Java we can use Wrapper classes parse() methods along with try-catch blocks to check for a number.
For integer number
Integer class provides a static method parseInt() which will throw NumberFormatException if the String does not contain a parsable int. We will catch this exception using catch block and thus confirm that given string is not a valid integer number.Below is the java program to demonstrate the same.
//Java program to check whether given string// is a valid integer number  class GFG {    public static void main (String[] args)    {        String input1 = "abc";        String input2 = "1234";                  try         {            // checking valid integer using parseInt() method            Integer.parseInt(input1);            System.out.println(input1 + " is a valid integer number");        }         catch (NumberFormatException e)         {            System.out.println(input1 + " is not a valid integer number");        }                  try         {            // checking valid integer using parseInt() method            Integer.parseInt(input2);            System.out.println(input2 + " is a valid integer number");        }         catch (NumberFormatException e)        {            System.out.println(input2 + " is not a valid integer number");        }    }}
Output:
abc is not a valid integer number
1234 is a valid integer number

For float number
Float class provides a static method parseFloat() which will throw NumberFormatException if the String does not contain a parsable float. We will catch this exception using catch block and thus confirm that given string is not a valid float number.If string is null, this method will throw NullPointerException.Below is the java program to demonstrate the same.
// Java program to check whether given string// is a valid float number.  class GFG {    public static void main (String[] args)    {        String input1 = "10e5.4";        String input2 = "2e10";                  try        {            // checking valid float using parseInt() method            Float.parseFloat(input1);            System.out.println(input1 + " is a valid float number");        }         catch (NumberFormatException e)        {            System.out.println(input1 + " is not a valid float number");        }                  try         {            // checking valid float using parseInt() method            Float.parseFloat(input2);            System.out.println(input2 + " is a valid float number");        }         catch (NumberFormatException e)        {            System.out.println(input2 + " is not a valid float number");        }    }}
Output:
10e5.4 is not a valid float number
2e10 is a valid float number

For big numbers
We can use BigInteger and BigDecimal class constructors for large numbers.Below is the java program to demonstrate the same.
// Java program to check whether given string// is a valid number.  import java.math.BigInteger;import java.math.BigDecimal;  class GFG {    public static void main (String[] args)    {        String input1 = "1231456416541214651356151564651954156";        String input2 = "105612656501606510651e655.4";        String input3 = "2e102225";                  try         {            // checking valid integer number using BigInteger constructor            new BigInteger(input1);            System.out.println(input1 + " is a valid integer number");        }         catch (NumberFormatException e)         {            System.out.println(input1 + " is not a valid integer number");        }                  try         {            // checking valid float number using BigDecimal constructor            new BigDecimal(input2);            System.out.println(input2 + " is a valid float number");        }         catch (NumberFormatException e)        {            System.out.println(input2 + " is not a valid float number");        }                  try         {            // checking valid float number using BigDecimal constructor            new BigDecimal(input3);            System.out.println(input3 + " is a valid float number");        }         catch (NumberFormatException e)        {            System.out.println(input3 + " is not a valid float number");        }              }}
Output:
1231456416541214651356151564651954156 is a valid integer number
105612656501606510651e655.4 is not a valid float number
2e102225 is a valid float number

This article is contributed by Gaurav Miglani. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Java-String-Programs
Java-Strings
Java
Strings
Java-Strings
Strings
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Initialize an ArrayList in Java
HashMap in Java with Examples
Interfaces in Java
Object Oriented Programming (OOPs) Concept in Java
ArrayList in Java
Write a program to reverse an array or string
Longest Common Subsequence | DP-4
Write a program to print all permutations of a given string
C++ Data Types
Different methods to reverse a string in C/C++