JDK-8371467 : Float formater error for Local Switzerland
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Affected Version: 24
  • Priority: P3
  • Status: Closed
  • Resolution: Not an Issue
  • OS: generic
  • CPU: generic
  • Submitted: 2025-11-06
  • Updated: 2025-11-07
  • Resolved: 2025-11-07
Related Reports
Relates :  
Description
ADDITIONAL SYSTEM INFORMATION :
Linux

A DESCRIPTION OF THE PROBLEM :
The swiss decimal point is dot. With java 8, its'OK but when I migrate to java 24 i found that is become comma.

REGRESSION : Last worked in version 8u471

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the test case

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Locale Suisse - Pi = 3.141593
ACTUAL -
Locale Suisse - Pi = 3,141593

---------- BEGIN SOURCE ----------
BigDecimal pi = BigDecimal.valueOf(Math.PI);

  System.out.printf("Locale %s - Pi = %f\n", Locale.getDefault().getDisplayCountry(), pi);
---------- END SOURCE ----------


Comments
With the latest CLDR (v48), only Swiss-German, or Swiss-Italian returns '.' as the decimal separator: https://unicode.org/cldr/charts/48/by_type/numbers.symbols.html#4ec3d1b99830ad07
07-11-2025

Mail to submitter ============== From JDK 9 onwards, the default locale data uses data derived from the Unicode Consortium's Common Locale Data Repository (CLDR). As per CLDR standards, French-based locales use the comma (,) as the decimal separator. For more details, refer to JEP 252: Use CLDR Locale Data by Default (https://openjdk.org/jeps/252)
07-11-2025

[~asajeev] Can you point the submitter to JEP 252 ?
06-11-2025