Java isNumeric method

In this post, we will see how to implement isNumeric method in java.

There are many way to check if String is numeric or not.

Let’s see one by one.


Using regular expressions

You can use below regular expression to check if string is numeric or not.

[-+]?\\d*\\.?\\d+

Output:

223 is numeric : true
27.8 is numeric : true
4.2d is numeric : false
abc is numeric : false
-123 is numeric : true

Using Apache Commons library

You need to add below dependency to get Apache commons jar.

NumberUtils.isCreatable(String)

You can NumberUtils.isCreatable(String) to check if String is numeric or not.

This method accepts:

  • Scientific notation (for example 2.9e-10)
  • Hexadecimal numbers with prefix 0x or 0X
  • Octal numbers starting with prefix 0
  • Numbers marked with a type qualifier (for example 20L or 11.2d)

Output:

223 is numeric : true
27.8 is numeric : true
4.2d is numeric : true
abc is numeric : false
-123 is numeric : true

StringUtils.isNumeric(CharSequence)

StringUtils.isNumeric(CharSequence) checks if the CharSequence contains only Unicode digits.

This method can accept unicode digits in any language.

It can not accept positive or negative signs or decimal points.

Output:

223 is numeric : true
27.8 is numeric : false
4.2d is numeric : false
abc is numeric : false
-123 is numeric : false

NumberUtils.isDigits(String)

NumberUtils.isDigits(String) checks if the String contains only digits.

Output:

223 is numeric : true
27.8 is numeric : false
4.2d is numeric : false
abc is numeric : false
-123 is numeric : false

Using simple java code

You can simply use parseXXX() to check if String is numeric or not.

For example:
You can use Double.parseDouble() method to check if String is double or not.

Output:

223 is numeric :true
27.8 is numeric : true
4.2d is numeric : true
abc is numeric : false
-123 is numeric : true

Although this is not considered as good idea to check String with try and catch due to unnecessary overhead.

That’s about Java isNumeric method.

Was this post helpful?

Comments

  1. NumberUtils.isCreatable(String) will really be helpful for actual numbers validation/coverage. Great post of covering different number validation options. Keep up the good work!

Leave a Reply

Your email address will not be published. Required fields are marked *