Java How to check if a String is numeric
By:Roy.LiuLast updated:2019-08-11
Few Java examples to show you how to check if a String is numeric.
1. Character.isDigit()
Convert a String into a char array and check it with Character.isDigit()
NumericExample.java
package com.mkyong;
public class NumericExample {
public static void main(String[] args) {
System.out.println(isNumeric("")); // false
System.out.println(isNumeric(" ")); // false
System.out.println(isNumeric(null)); // false
System.out.println(isNumeric("1,200")); // false
System.out.println(isNumeric("1")); // true
System.out.println(isNumeric("200")); // true
System.out.println(isNumeric("3000.00")); // false
public static boolean isNumeric(final String str) {
// null or empty
if (str == null || str.length() == 0) {
return false;
for (char c : str.toCharArray()) {
if (!Character.isDigit(c)) {
return false;
return true;
Output
false false false false true true false
2. Java 8
This is much simpler now.
public static boolean isNumeric(final String str) {
// null or empty
if (str == null || str.length() == 0) {
return false;
return str.chars().allMatch(Character::isDigit);
3. Apache Commons Lang
If Apache Commons Lang is present in the claspath, try NumberUtils.isDigits()
pom.xml
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency>
import org.apache.commons.lang3.math.NumberUtils;
public static boolean isNumeric(final String str) {
return NumberUtils.isDigits(str);
4. NumberFormatException
This solution is working, but not recommend, performance issue.
public static boolean isNumeric(final String str) {
if (str == null || str.length() == 0) {
return false;
try {
Integer.parseInt(str);
return true;
} catch (NumberFormatException e) {
return false;
From:一号门
Previous:JSON.simple – How to parse JSON

COMMENTS