Runtime: Incorrect Swiss-French CultureInfo NumberFormat

Created on 11 Jun 2020  路  4Comments  路  Source: dotnet/runtime

Description

In Switzerland there are 4 official languages:

  • German de-CH
  • French fr-CH
  • Italian it-CH
  • Romansh rm-CH

Officially, the number format use an apostrophe as a thousands separator with a dot . as the decimal separator (for example: 1'234'567.89).

The CultureInfo.NumberFormat is correct with de-CH and it-CH, but not with fr-CH and rm-CH:
new CultureInfo("de-CH", false).NumberFormat;
de-CH

new CultureInfo("it-CH", false).NumberFormat;
it-CH

new CultureInfo("fr-CH", false).NumberFormat;
fr-CH

new CultureInfo("rm-CH", false).NumberFormat;
rm-CH

Configuration

  • .NET Standard 2.1
  • Windows 10 build 1909 x64

Related

area-System.Globalization question

Most helpful comment

Thanks for reporting this issue!

I wanted to add a comment here to give some more info:

Much of the globalization data for "regional formats", or cultures/locales, in Windows 10 comes from the Unicode CLDR project. In this case all 4 of the locales derive their data from CLDR.

A ticket/issue has been filed with the CLDR project here: 13877

Regarding this comment:

Officially, the number format use an apostrophe as a thousands separator with a dot . as the decimal separator (for example: 1'234'567.89).

Do you know of any "Official" sources for this info? If so that could help with the CLDR ticket. If you do, please let me know and I can add it to the ticket.

Thank you!

All 4 comments

Tagging subscribers to this area: @tarekgh, @safern, @krwq
Notify danmosemsft if you want to be subscribed.

.NET doesn't carry the globalization data. we just use whatever the OS or native globalization libraries give us. Please file this issue to the Windows team through Windows 10 Feedback Hub. I'll try to send it internally to them too.

Thanks for reporting this issue!

I wanted to add a comment here to give some more info:

Much of the globalization data for "regional formats", or cultures/locales, in Windows 10 comes from the Unicode CLDR project. In this case all 4 of the locales derive their data from CLDR.

A ticket/issue has been filed with the CLDR project here: 13877

Regarding this comment:

Officially, the number format use an apostrophe as a thousands separator with a dot . as the decimal separator (for example: 1'234'567.89).

Do you know of any "Official" sources for this info? If so that could help with the CLDR ticket. If you do, please let me know and I can add it to the ticket.

Thank you!

@jefgen thanks for the answer. I see a lot of issues in CLDR project about "Swiss cultures":

It's not clear, each person gives their opinion, which gives an inconsistent result between the different regions of the country, it doesn't make sense.

Unfortunately I haven't found any official document that defines the Swiss rules for the moment. I continue the search.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

aggieben picture aggieben  路  3Comments

matty-hall picture matty-hall  路  3Comments

Timovzl picture Timovzl  路  3Comments

jamesqo picture jamesqo  路  3Comments

yahorsi picture yahorsi  路  3Comments