in src/main/java/org/apache/commons/validator/GenericTypeValidator.java [445:468]
public static Short formatShort(final String value, final Locale locale) {
Short result = null;
if (value != null) {
NumberFormat formatter = null;
if (locale != null) {
formatter = NumberFormat.getNumberInstance(locale);
} else {
formatter = NumberFormat.getNumberInstance(Locale.getDefault());
}
formatter.setParseIntegerOnly(true);
final ParsePosition pos = new ParsePosition(0);
final Number num = formatter.parse(value, pos);
// If there was no error and we used the whole string
if (pos.getErrorIndex() == -1 && pos.getIndex() == value.length() &&
num.doubleValue() >= Short.MIN_VALUE &&
num.doubleValue() <= Short.MAX_VALUE) {
result = Short.valueOf(num.shortValue());
}
}
return result;
}