JDK-6729832 : NumberFormat returns XX% wrongly instead of %XX for Turkish Locale
  • Type: Bug
  • Component: globalization
  • Sub-Component: locale-data
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_vista
  • CPU: x86
  • Submitted: 2008-07-25
  • Updated: 2012-12-20
  • Resolved: 2009-12-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7
7Resolved
Related Reports
Duplicate :  
Description
FULL PRODUCT VERSION :
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
Windows Vista Home Premium

A DESCRIPTION OF THE PROBLEM :
In Turkish, percentage sign (%) is written before the number, not after as in English.

In Turkish, percantage is written as  'y��zde 12' , not '12 y��zde', so the sign must be before the number.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
    Locale locale=new Locale("tr","TR");
    double number=0.123456;
    NumberFormat formatter=NumberFormat.getPercentInstance(locale);
    String text=formatter.format(number);
    System.out.println("Formatted : "+text);

---------- END SOURCE ----------

Comments
EVALUATION already fixed in bug 4494727 for both 6 and 7. marked as dup.
18-12-2009