BigDecimalConverter does not work with non breaking space - eg, French or 
Russian Locales.
------------------------------------------------------------------------------------------

                 Key: WICKET-1395
                 URL: https://issues.apache.org/jira/browse/WICKET-1395
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 1.3.1
            Reporter: Ned Collyer


Space character is not getting correctly translated when converting to 
BigDecimal.

The following occurs with a bound BigDecimal field

Input: 3000
Submit
Output: 3 000
-----
Input: 3 000
Submit
Output: 3 


The following code highlights the problem.

BigDecimalConverter bdc = new BigDecimalConverter();
System.out.println(bdc.convertToObject("3 000", Locale.FRENCH));
=>3

DoubleConverter dc = new DoubleConverter();
System.out.println(dc.convertToObject("3 000", Locale.FRENCH));
=>3000.0

I think I found the problem.

BigDecimalConverter#convertToObject is calling getNumberFormat(locale), but it 
should be calling AbstractNumberConverter#parse like DoubleConverter does (or 
something similar).

It looks like code to handle the different "thousand" separators has been added 
there.

Also of note, it does not appear that the BigDecimalConverter is covered by the 
Converters test.

See thread 
http://www.nabble.com/BigDecimal-converter---broken-for-French-Russian-%21--ts15820747.html
 for more context.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to