for fixing Trinidad-202 ([1] (was done during incubation)), we added
these lines (and some other)

    DecimalFormat df = (DecimalFormat)fmt;
    DecimalFormatSymbols dfs = df.getDecimalFormatSymbols();

    if (dfs.getGroupingSeparator() == '\u00a0')
      value = value.replace(' ', '\u00a0');

So far, so good.
But that causes issues, when running in "fr_FR" locale, like:

<tr:inputText value="#{validate.currency}"
               id="outputText1">
  <tr:convertNumber locale="fr_FR" type="currency"/>
</tr:inputText>

The rendered output is "12 345,68 €", which is fine.

When re-submitting this value, you'll see an converter-error-msg, that
the format is wrong.
That is because:
1. the groupingSeparator() in fr_FR is '\u00a0'
2. therefore the " " between 2 and 3 AND 8 and € is replaced by '\u00a0'.

the later is the issue, and the conversion fails.

Any ideas ?

-Matthias

[1] https://issues.apache.org/jira/browse/TRINIDAD-202

-- 
Matthias Wessendorf

further stuff:
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
mail: matzew-at-apache-dot-org

Reply via email to