Java String isNumeric() Utility Method

Java String Utility Methods


This page contains the source code of Java String isNumeric() utility method - This method checks if the CharSequence contains only Unicode digits. A decimal point is not a Unicode digit and returns false.

Java String isEmpty() Utility Method

The following String isNumeric() utility method checks if the CharSequence contains only Unicode digits. A decimal point is not a Unicode digit and returns false.

Note that the method does not allow for a leading sign, either positive or negative. Also, if a String passes the numeric test, it may still generate a NumberFormatException when parsed by Integer.parseInt or Long.parseLong, e.g. if the value is outside the range for int or long respectively.
public static boolean isNumeric(final CharSequence cs) {
    if (isEmpty(cs)) {
         return false;
    }
    final int sz = cs.length();
    for (int i = 0; i < sz; i++) {
         if (!Character.isDigit(cs.charAt(i))) {
              return false;
        }
    }
    return true;
}
JUnit test case:
@Test
public void testIsNumeric() {
 assertFalse(StringUtility.isNumeric(null));
 assertFalse(StringUtility.isNumeric(""));
 assertFalse(StringUtility.isNumeric(" "));
 assertFalse(StringUtility.isNumeric("a"));
 assertFalse(StringUtility.isNumeric("A"));
 assertFalse(StringUtility.isNumeric("kgKgKgKgkgkGkjkjlJlOKLgHdGdHgl"));
 assertFalse(StringUtility.isNumeric("ham kso"));
 assertTrue(StringUtility.isNumeric("1"));
 assertTrue(StringUtility.isNumeric("1000"));
 assertTrue(StringUtility.isNumeric("\u0967\u0968\u0969"));
 assertFalse(StringUtility.isNumeric("\u0967\u0968 \u0969"));
 assertFalse(StringUtility.isNumeric("2.3"));
 assertFalse(StringUtility.isNumeric("10 00"));
 assertFalse(StringUtility.isNumeric("hkHKHik6iUGHKJgU7tUJgKJGI87GIkug"));
 assertFalse(StringUtility.isNumeric("_"));
 assertFalse(StringUtility.isNumeric("hkHKHik*khbkuh"));
 assertFalse(StringUtility.isNumeric("+123"));
 assertFalse(StringUtility.isNumeric("-123"));
}


Comments