What's this "polymorphism" thing you're talking about? I guess I just haven't 
been around object-oriented programming for long enough.

-David


On Jan 20, 2010, at 2:18 AM, Adrian Crum wrote:

> David,
> 
> You were born two decades too late. You would have made a great COBOL 
> programmer.
> 
> Thanks to object oriented programming and polymorphism, existing code will 
> think it is using a BigDecimal.
> 
> 
> -Adrian
> 
> 
> --- On Wed, 1/20/10, David E Jones <[email protected]> wrote:
>> 16 lines plus how many hundreds of changed lines and
>> non-backwards compatible code?
>> 
>> And how is 16 lines easier than inserting 5 characters that
>> have none of the above problems?
>> 
>> -David
>> 
>> 
>> On Jan 20, 2010, at 1:29 AM, Adrian Crum wrote:
>> 
>>> Was that reply supposed to make sense?
>>> 
>>> Not ridiculous in 16 lines:
>>> 
>>> @SuppressWarnings("serial")
>>> public class Currency extends BigDecimal {
>>>     protected final com.ibm.icu.util.Currency
>> currency;
>>> 
>>>     public Currency(Double value, String
>> isoCode) {
>>>         super(value);
>>>         this.currency =
>> com.ibm.icu.util.Currency.getInstance(isoCode);
>>>     }
>>> 
>>>     @Override
>>>     public String toString() {
>>>        
>> com.ibm.icu.text.NumberFormat format =
>> ibm.ibm.icu.text.DecimalFormat.getInstance();;
>>>        
>> format.setCurrency(this.currency);
>>>         return
>> format.format(this);
>>>     }
>>> }
>>> 
>>> -Adrian
>>> 
>>> 
>>> 
>>> --- On Tue, 1/19/10, David E Jones <[email protected]>
>> wrote:
>>> 
>>>> From: David E Jones <[email protected]>
>>>> Subject: Re: svn commit: r901058 -
>> /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java
>>>> To: [email protected]
>>>> Date: Tuesday, January 19, 2010, 11:17 PM
>>>> 
>>>> Because it has nothing to do with the problem at
>> hand. It's
>>>> a diversion from what the priorities we are
>> working with.
>>>> 
>>>> -David
>>>> 
>>>> 
>>>> On Jan 20, 2010, at 12:25 AM, Adrian Crum wrote:
>>>> 
>>>>> Why?
>>>>> 
>>>>> 
>>>>> --- On Tue, 1/19/10, David E Jones <[email protected]>
>>>> wrote:
>>>>> 
>>>>>> From: David E Jones <[email protected]>
>>>>>> Subject: Re: svn commit: r901058 -
>>>> 
>> /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java
>>>>>> To: [email protected]
>>>>>> Date: Tuesday, January 19, 2010, 10:16 PM
>>>>>> 
>>>>>> Sorry, that's ridiculous.
>>>>>> 
>>>>>> -David
>>>>>> 
>>>>>> 
>>>>>> On Jan 20, 2010, at 12:02 AM, Adrian Crum
>> wrote:
>>>>>> 
>>>>>>> If I was a scientist and I was using
>> a
>>>> BigDecimal for
>>>>>> scientific calculations, then I would
>> expect its
>>>> String
>>>>>> representation to be in scientific
>> format.
>>>>>>> 
>>>>>>> Maybe what sticks in your mind is what
>> you
>>>> expect
>>>>>> currency to do. Currency is not the same
>> as
>>>> BigDecimal. If
>>>>>> you are concerned that currency will be
>> displayed
>>>> in
>>>>>> scientific notation, then maybe we should
>> consider
>>>> using a
>>>>>> currency class for currency, instead of
>> using
>>>> BigDecimal.
>>>>>>> 
>>>>>>> -Adrian
>>>>>>> 
>>>>>>> --- On Tue, 1/19/10, Scott Gray <[email protected]>
>>>>>> wrote:
>>>>>>> 
>>>>>>>> From: Scott Gray <[email protected]>
>>>>>>>> Subject: Re: svn commit: r901058
>> -
>>>>>> 
>>>> 
>> /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java
>>>>>>>> To: [email protected]
>>>>>>>> Date: Tuesday, January 19, 2010,
>> 9:51 PM
>>>>>>>> If you don't think it will break
>>>>>>>> anything then fine, feel free to
>> work it
>>>> however
>>>>>> you
>>>>>>>> like.  Although I'd be
>> surprised if
>>>> many
>>>>>> users expect a
>>>>>>>> string representation of a number
>> to be
>>>> in
>>>>>> scientific
>>>>>>>> notation.
>>>>>>>> 
>>>>>>>> The BigDecimal
>> toString/toPlainString
>>>> issue always
>>>>>> sticks
>>>>>>>> in my mind because it does exactly
>> what I
>>>> don't
>>>>>> expect a
>>>>>>>> toString method to do.
>>>>>>>> 
>>>>>>>> Regards
>>>>>>>> Scott
>>>>>>>> 
>>>>>>>> On 19/01/2010, at 10:40 PM, Adrian
>> Crum
>>>> wrote:
>>>>>>>> 
>>>>>>>>> Scott,
>>>>>>>>> 
>>>>>>>>> Thank you for pointing that
>> out. I
>>>> think what
>>>>>> I'm
>>>>>>>> trying to achieve is predictable
>> behavior
>>>> from a
>>>>>> user or
>>>>>>>> developer's standpoint.
>>>>>>>>> 
>>>>>>>>> Take an unknown Java object
>> type and
>>>> convert
>>>>>> it to a
>>>>>>>> String. As a developer, what would
>> you
>>>> expect the
>>>>>> result to
>>>>>>>> be? From my perspective it would
>> be
>>>> whatever the
>>>>>> object's
>>>>>>>> toString() method would return.
>>>>>>>>> 
>>>>>>>>> Does that make sense?
>>>>>>>>> 
>>>>>>>>> -Adrian
>>>>>>>>> 
>>>>>>>>> --- On Tue, 1/19/10, Scott
>> Gray <[email protected]>
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> From: Scott Gray <[email protected]>
>>>>>>>>>> Subject: Re: svn commit:
>> r901058
>>>> -
>>>>>>>> 
>>>>>> 
>>>> 
>> /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java
>>>>>>>>>> To: [email protected]
>>>>>>>>>> Date: Tuesday, January 19,
>> 2010,
>>>> 9:16 PM
>>>>>>>>>> On 19/01/2010, at 9:36 PM,
>> [email protected]
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Author: adrianc
>>>>>>>>>>> Date: Wed Jan 20
>> 04:36:42
>>>> 2010
>>>>>>>>>>> New Revision: 901058
>>>>>>>>>>> 
>>>>>>>>>>> URL: http://svn.apache.org/viewvc?rev=901058&view=rev
>>>>>>>>>>> Log:
>>>>>>>>>>> Simplified the number
>>>> converters.
>>>>>> Eliminated
>>>>>>>> an
>>>>>>>>>> unnecessary abstract
>> class, made
>>>> use of
>>>>>> Java's
>>>>>>>> auto-boxing.
>>>>>>>>>> Non-localized Number to
>> String
>>>> conversions
>>>>>> use the
>>>>>>>> the
>>>>>>>>>> toString() method - so the
>> result
>>>> is what
>>>>>> you
>>>>>>>> would expect.
>>>>>>>>>>> 
>>>>>>>>>>> -    public
>> static
>>>> class
>>>>>>>> BigDecimalToString
>>>>>>>>>> extends
>>>>>>>> 
>>>> AbstractUsesLocaleConverter<BigDecimal,
>>>>>>>>>> String> {
>>>>>>>>>>> +    public
>> static
>>>> class
>>>>>>>> BigDecimalToString
>>>>>>>>>> extends
>>>>>> AbstractToNumberConverter<BigDecimal,
>>>>>>>> String>
>>>>>>>>>> {
>>>>>>>>>>>      
>>   
>>>>    
>>>>>> public
>>>>>>>> BigDecimalToString()
>>>>>>>>>> {
>>>>>>>>>>>      
>>   
>>>>    
>>>>>>      
>>>>>>>>>> super(BigDecimal.class,
>>>> String.class);
>>>>>>>>>>>      
>>   
>>>>     }
>>>>>>>>>>> 
>>>>>>>>>>> +   
>>    
>>>> public
>>>>>> String
>>>>>>>>>> convert(BigDecimal obj)
>> throws
>>>>>> ConversionException
>>>>>>>> {
>>>>>>>>>>> +   
>>>>     
>>>>>>      
>>>>>>>> return
>>>>>>>>>> obj.toString();
>>>>>>>>>>> +   
>>    
>>>> }
>>>>>>>>>>> +
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Hi Adrian,
>>>>>>>>>> 
>>>>>>>>>> bigDecimal.toString() can
>> return
>>>>>> scientific
>>>>>>>> notation in
>>>>>>>>>> some cases, it's usually
>> better to
>>>> use
>>>>>>>>>> 
>> bigDecimal.toPlainString()
>>>>>>>>>> http://java.sun.com/javase/6/docs/api/java/math/BigDecimal.html#toString()
>>>>>>>>>> 
>>>>>>>>>> Regards
>>>>>>>>>> Scott
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 
> 

Reply via email to