in src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java [82:106]
protected int determineScale(final NumberFormat format) {
if (!isStrict()) {
return -1;
}
if (!isAllowFractions() || format.isParseIntegerOnly()) {
return 0;
}
final int minimumFraction = format.getMinimumFractionDigits();
final int maximumFraction = format.getMaximumFractionDigits();
if (minimumFraction != maximumFraction) {
return -1;
}
int scale = minimumFraction;
if (format instanceof DecimalFormat) {
final int multiplier = ((DecimalFormat) format).getMultiplier();
if (multiplier == 100) { // CHECKSTYLE IGNORE MagicNumber
scale += 2; // CHECKSTYLE IGNORE MagicNumber
} else if (multiplier == 1000) { // CHECKSTYLE IGNORE MagicNumber
scale += 3; // CHECKSTYLE IGNORE MagicNumber
}
} else if (formatType == PERCENT_FORMAT) {
scale += 2; // CHECKSTYLE IGNORE MagicNumber
}
return scale;
}