commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex 'Kazuma' Garbagnati <jaka...@kazuma.net>
Subject [commons-beanutils] Problem with a BigDecimal Conversion
Date Thu, 04 Mar 2004 12:49:43 GMT
Hi guys,

    I was trying to "play around" with BeanUtils conversions and I find out 
a behaviour that I cannot really understand.
Here is a simple piece of code to better explain the issue:

--- code starts here ---

import org.apache.commons.beanutils.locale.converters.*;

public class Test {

         public static void main(String[] args) {
                 String[][] testValues = new String[2][2];
                 testValues[0][0] = "1.234,000";
                 testValues[0][1] = "#,##0.000";
                 testValues[1][0] = "1.234,001";
                 testValues[1][1] = "#,##0.000";

                 BigDecimalLocaleConverter converter = new 
BigDecimalLocaleConverter();
                 for (int i=0; i<testValues.length; i++) {
                         Object obj = converter.convert(testValues[i][0], 
testValues[i][1]);
                         System.out.print("Value = " + obj.toString());
                         System.out.print(" [" + obj.getClass().getName() + 
"]");
                         System.out.print(" (" + testValues[i][0]);
                         System.out.println(" - " + testValues[i][1] + ")");
                 }
         }
}
--- code ends here ---

By running this piece of code I obtain this:

Value = 1234 [java.lang.Long] (1234,00000000000 - #,##0.00000000000)
Value = 1234.00000000001 [java.lang.Double] (1234,00000000001 - 
#,##0.00000000000)

What I do consider strange is that the returning object is not a 
BigDecimal, but a Long or a Double.

Is this the correct behaviour? If not, should I (or someone here) report 
this as a Bug?

And, most important, what is the correct way to convert a string that 
follows the #,##0.00000000000 to a BigDecimal (always a big decimal, even 
if the original number has no decimals)?


         Best regards,
                 Kazuma


---
Those who don't understand unix are condemned to reinvent it. Poorly. 
(H.Spencer)

Alex 'Kazuma' Garbagnati - Milan, Italy - kazuma@jguru.com
EJB & Tomcat jGuru FAQ Manager, http://www.jguru.com 


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Mime
View raw message