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;

Reply via email to