Author: niallp
Date: Wed May 23 15:11:28 2007
New Revision: 541100

URL: http://svn.apache.org/viewvc?view=rev&rev=541100
Log:
Improve BigInteger / BigDecimal conversion handling

Modified:
    
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/NumberConverter.java

Modified: 
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/NumberConverter.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/NumberConverter.java?view=diff&rev=541100&r1=541099&r2=541100
==============================================================================
--- 
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/NumberConverter.java
 (original)
+++ 
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/converters/NumberConverter.java
 Wed May 23 15:11:28 2007
@@ -363,6 +363,8 @@
         if (type.equals(BigDecimal.class)) {
             if (value instanceof Float || value instanceof Double) {
                 return new BigDecimal(value.toString());
+            } else if (value instanceof BigInteger) {
+                return new BigDecimal((BigInteger)value);
             } else {
                 return BigDecimal.valueOf(value.longValue());
             }
@@ -370,7 +372,11 @@
 
         // BigInteger
         if (type.equals(BigInteger.class)) {
-            return BigInteger.valueOf(value.longValue());
+            if (value instanceof BigDecimal) {
+                return ((BigDecimal)value).toBigInteger();
+            } else {
+                return BigInteger.valueOf(value.longValue());
+            }
         }
 
         String msg = toString(getClass()) + " cannot handle conversion to '"



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to