spring-hateoas-ext/src/main/java/de/escalon/hypermedia/affordance/DataType.java
public static boolean isIsoLatin1Number(String str) {
        if (str == null)
            return false;
        char[] data = str.toCharArray();
        if (data.length == 0)
            return false;
        int index = 0;
        if (data.length > 1 && (data[0] == '-' || data[0] == '+'))
            index = 1;
        for (; index < data.length; index++) {
            if (data[index] < '0' || data[index] > '9')
                return false;
        }
        return true;
    }
public static boolean isIsoLatin1Number(String str) {
        if (str == null)
            return false;
        char[] data = str.toCharArray();
        if (data.length == 0)
            return false;
        int index = 0;
        if (data.length > 1 && (data[0] == '-' || data[0] == '+'))
            index = 1;
        for (; index < data.length; index++) {
            if (data[index] < '0' || data[index] > '9')
                return false;
        }
        return true;
    }
Determines if the given string contains only 0-9 [ISO-LATIN-1] or an optional leading +/- sign.

@param str
to check
@return true if condition holds, false otherwise
@see <a href="http://stackoverflow.com/a/29331473/743507">Comparison of regex and char array performance</a>
@see Character#isDigit Examples for non-ISO-Latin-1-Digits