Jeremy Quinn escribió: > Dear All > > Background: > > While working on validating number fields for CForms, I am finding > that there is a huge number of discrepancies between Dojo's localised > number formatting and the ones built-in to Java. These discrepancies > are breaking Dojo's ability to perform client-side validation for many > Locales. > > @see http://blog.fiveone.org/2008/07/number-format-hell.html > > I mention a few ideas for solutions in the comments, but I think I > came up with a better one ...... > > com.ibm.icu.* provides equivalents to java.text.DecimalFormat, > java.util.Currency etc. that are built using the same CLDR (Common > Locale Data Repository) dataset that Dojo is built from. @see > http://www.unicode.org/cldr/ . > > Specifically, Dojo 1.1.1 (current release) uses CLDR 1.5.1 that comes > in icu4j version 3.8.1 and Dojo 1.2 will use CLDR 1.6 which comes in > icu4j 4.0 (clear upgrade path). > > If this works, the benefit would be that number formatting would be > consistent regardless of the JVM you are using (above 1.4 the minimum > icu needs to run). > > Question: > > Currently, o.a.c.forms.datatype.convertor.FormattingDecimalConvertor > (the baseclass for all Number Formatting convertors), uses > java.text.DecimalFormat internally, without exposing the class to the > outside (except for one protected Method). > > If I were to re-implement FormattingDecimalConvertor using icu4j, > should I leave the old one alone and create a new > icu4jFormattingDecimalConvertor, or work with the original class? > > If this solves the problem, this would be the only decimal convertor > that would work properly with Dojo, so it would seem pointless to > leave the old one around, leading to confusion ..... > > I ask this because when it comes to Date Convertors, we do have > separate ones for icu4j and the built-in date formatters. I agree, it is pointless to have the old around. Thanks Jeremy for your effort! Best Regards, Antonio Gallardo.