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 <d...@me.com> 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 <d...@me.com> > wrote: > > > >> From: David E Jones <d...@me.com> > >> Subject: Re: svn commit: r901058 - > /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java > >> To: dev@ofbiz.apache.org > >> 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 <d...@me.com> > >> wrote: > >>> > >>>> From: David E Jones <d...@me.com> > >>>> Subject: Re: svn commit: r901058 - > >> > /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java > >>>> To: dev@ofbiz.apache.org > >>>> 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 <scott.g...@hotwaxmedia.com> > >>>> wrote: > >>>>> > >>>>>> From: Scott Gray <scott.g...@hotwaxmedia.com> > >>>>>> Subject: Re: svn commit: r901058 > - > >>>> > >> > /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java > >>>>>> To: dev@ofbiz.apache.org > >>>>>> 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 <scott.g...@hotwaxmedia.com> > >>>>>> wrote: > >>>>>>> > >>>>>>>> From: Scott Gray <scott.g...@hotwaxmedia.com> > >>>>>>>> Subject: Re: svn commit: > r901058 > >> - > >>>>>> > >>>> > >> > /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java > >>>>>>>> To: dev@ofbiz.apache.org > >>>>>>>> Date: Tuesday, January 19, > 2010, > >> 9:16 PM > >>>>>>>> On 19/01/2010, at 9:36 PM, > adri...@apache.org > >>>>>>>> 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 > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>>> > >>>>> > >>>>> > >>>> > >>>> > >>> > >>> > >>> > >> > >> > > > > > > > >