Up to ValidatorExtensions
Question
Does anyone have any recommendations for validating user-entered numbers with separators? (For example, the string "10,000.00".) Validator uses the Double constructor in its GenericTypeValidator.formatDouble method.
Answer
I wound up creating my own custom FieldChecks class with a validateDouble method that delegates to a new formatDouble method. Here's the code for formatDouble:
public static Double formatDouble(String s) throws
NumberFormatException {
DecimalFormatSymbols syms = new DecimalFormatSymbols();
StringBuffer buff = new StringBuffer();
StringCharacterIterator iter = new StringCharacterIterator(s);
for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
if(c != syms.getGroupingSeparator()) {
buff.append(c);
}
}
return GenericTypeValidator.formatDouble(buff.toString());
}Let me know if anyone has a better solution.
Matt Howitt
Up to ValidatorExtensions