Core/src/main/java/org/openestate/io/core/NumberUtils.java
public static boolean isNumeric(String value, Locale locale) {
        if (value == null) return false;
        int start = 0;

        final DecimalFormatSymbols symbols = (locale != null) ?
                DecimalFormatSymbols.getInstance(locale) :
                DecimalFormatSymbols.getInstance();

        if (value.startsWith("+") || value.startsWith("-")) start++;
        boolean fraction = false;
        for (int i = start; i < value.length(); i++) {
            final char c = value.charAt(i);
            if (c == symbols.getDecimalSeparator() && !fraction) {
                fraction = true;
                continue;
            }
            if (c == symbols.getGroupingSeparator() && !fraction) {
                continue;
            }
            if (!Character.isDigit(c)) {
                return false;
            }
        }
        return true;
    }
public static boolean isNumeric(String value, Locale locale) {
        if (value == null) return false;
        int start = 0;

        final DecimalFormatSymbols symbols = (locale != null) ?
                DecimalFormatSymbols.getInstance(locale) :
                DecimalFormatSymbols.getInstance();

        if (value.startsWith("+") || value.startsWith("-")) start++;
        boolean fraction = false;
        for (int i = start; i < value.length(); i++) {
            final char c = value.charAt(i);
            if (c == symbols.getDecimalSeparator() && !fraction) {
                fraction = true;
                continue;
            }
            if (c == symbols.getGroupingSeparator() && !fraction) {
                continue;
            }
            if (!Character.isDigit(c)) {
                return false;
            }
        }
        return true;
    }
public static boolean isNumeric ( String value , Locale locale ) { if ( value == null ) return false ; int start = 0 ; final DecimalFormatSymbols symbols = ( locale != null ) ? DecimalFormatSymbols . getInstance ( locale ) : DecimalFormatSymbols . getInstance ( ) ; if ( value . startsWith ( "+" ) || value . startsWith ( "-" ) ) start ++ ; boolean fraction = false ; for ( int i = start ; i < value . length ( ) ; i ++ ) { final char c = value . charAt ( i ) ; if ( c == symbols . getDecimalSeparator ( ) && ! fraction ) { fraction = true ; continue ; } if ( c == symbols . getGroupingSeparator ( ) && ! fraction ) { continue ; } if ( ! Character . isDigit ( c ) ) { return false ; } } return true ; }
Test, if a string contains a parsable number.

@param value  the value to check
@param locale the locale, against which the value is checked
(checks locale specific decimal and grouping separators)
@return true, if the provided value contains of numbers
Test if a string contains a parsable number .