This is an automated email from the ASF dual-hosted git repository. garydgregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-validator.git
commit dad61af56e8bc2ecd43fd845b50556e72fc832c8 Author: Gary Gregory <[email protected]> AuthorDate: Sat Jul 11 07:29:13 2026 -0400 Avoid String roundtrips when you can in AbstractNumberValidator.toBigDecimal(Object) --- .../commons/validator/routines/AbstractNumberValidator.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java b/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java index 52417e25..4b00704b 100644 --- a/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java +++ b/src/main/java/org/apache/commons/validator/routines/AbstractNumberValidator.java @@ -88,14 +88,11 @@ public abstract class AbstractNumberValidator extends AbstractFormatValidator { } static BigDecimal toBigDecimal(final Object value) { - if (value instanceof Long) { - return BigDecimal.valueOf(((Long) value).longValue()); - } - if (value instanceof Double) { - return BigDecimal.valueOf(((Double) value).doubleValue()); + if (value instanceof Long || value instanceof Integer || value instanceof Short || value instanceof Byte) { + return BigDecimal.valueOf(((Number) value).longValue()); } - if (value instanceof Float) { - return BigDecimal.valueOf(((Float) value).doubleValue()); + if (value instanceof Double || value instanceof Float) { + return BigDecimal.valueOf(((Number) value).doubleValue()); } if (value instanceof BigDecimal) { return (BigDecimal) value;
