[ 
https://issues.apache.org/struts/browse/WW-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_42365
 ] 

Jørgen Larsen commented on WW-2176:
-----------------------------------

Norwegians are having the same experience.

I don't think the above solution will work for <s:selects, so my fix on this 
problem was to add an helper method in my BaseAction (all other actions extends 
this action).
I.e for doubles I added BaseAction.formatDouble method that uses the default 
locale. So my <s:select ended up like this:

<s:select 
   tooltip="Choose discount"
   label="Discount"
   list="contractDiscounts"
   name="contract.discountFactor"
   listKey="formatDouble(discountFactor)"
   listValue="description"
   emptyOption="false"
   headerKey="-1"
   headerValue="-- No discount --"/>

This seems to solve my problem regarding doubles and dates "roundtrip" from 
object to form and back again

> In Turkish locale "TR" double values are multiplied by ten on every page load
> -----------------------------------------------------------------------------
>
>                 Key: WW-2176
>                 URL: https://issues.apache.org/struts/browse/WW-2176
>             Project: Struts 2
>          Issue Type: Bug
>    Affects Versions: 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7, 
> 2.0.8, 2.0.9, 2.1.0
>         Environment: Windows XP, java 5 and java 6
>            Reporter: Ömer Başar
>            Priority: Blocker
>             Fix For: 2.0.12
>
>         Attachments: struts2locale_error.avi
>
>
> The steps to get the error.
> 1 - Change your locale to "TR" (Turkish)
> 2 - go to edit employee page on showcase application - 
> http://www.planetstruts.org/struts2-showcase/employee/save.action
> 3 - Fill only the salary field with "10"
> 4 - Press Save, it shows the required fields and makes the salary field "10.0"
> 5 - Press Save again without editing anything, it gives the error for 
> required fields and makes the salary field "100.0"
> 6 - Alter the salary field. Make it "100,0" (change dot with comma)
> 7 - press save, here it is not multiplied by 10, but it changes the salary 
> field value from "100,0" to "100.0" again.
> Here is the problem. In Turkish(TR) locale the decimal separator is "comma", 
> not "dot". So it doesn't convert them according to the TR locale which is the 
> locale of my browser. When I press save at the 4th and 5th steps it should 
> write "10,0" using the locale of the browser. 
> Note : When I change my locale to "EN" everything works fine. 

-- 
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