[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search

CLDR Ticket #8014(closed: needs-more-info)

Opened 4 years ago

Last modified 6 months ago

Swiss currency format bug?

Reported by: mark.fletcher@… Owned by: mark
Component: other Data Locale: de_CH, fr_CH, it_CH
Phase: rc Review:
Weeks: Data Xpath:


Here is the currency pattern used by de_CH, fr_CH, and it_CH:
<pattern>¤ #,##0.00;¤-#,##0.00</pattern>

This seems incorrect, as there is a space between the symbol and positive numbers, but no space between the symbol and negative numbers. Of all locales, these are the only three with this kind of postive vs. negative difference.


Change History

comment:1 Changed 4 years ago by mark

I don't think it is unexpected: you don't want the letters to abut the digits is all... So I'm not sure we want it as a guarantee, although it is worth checking out for *-CH

comment:2 follow-up: ↓ 4 Changed 4 years ago by mark.fletcher@…

Hmm. Maybe i was unclear. Here are the results I see after the symbol substitution:

CHF 1,000.00
CHF-1,000.00 (no space in between symbol and minus sign)

But, because the positive pattern has a space between symbol and number, I would expect that the negative pattern would too, and look like this:

CHF -1,000.00

comment:3 Changed 4 years ago by mark

  • Owner changed from anybody to mark
  • Phase changed from dsub to rc
  • Status changed from new to assigned
  • Milestone changed from UNSCH to 27

comment:4 in reply to: ↑ 2 Changed 4 years ago by Nick Patch <patch@…>

Note that even if the pattern was ¤#,##0.00;¤-#,##0.00 without any spaces, the resulting formatted spacing would still be the exact same for CHF:

CHF 1'000.00

This is because the currencySpacing rules for de_CH, fr_CH, it_CH, and most other locales cause a space to be inserted between the currency sign and the formatted number if the currency sign contains a non-symbol character (like the letter F in CHF) that would touch a digit of the formatted number (like the digit 1 in 1'000.00).

The main difference between ¤#,##0.00 and ¤ #,##0.00 is that the former will not have a space when the final (or only) character in the currency sign is a symbol. For example USD would be $1'000.00 for ¤#,##0.00 and $ 1'000.00 for ¤ #,##0.00, while CHF would be CHF 1'000.00 for both.

¤-#,##0.00 on the other hand, would never have a space: $-1'000.00 for USD and CHF-1'000.00 for CHF. This means that all locales with a minus sign between the currency sign and number with no additional spaces would have the issue described for non-symbol currency signs.

I have no idea what's correct for these locales but I just wanted to clarify the spacing rules. If this is indeed an issue, the only way to make it more consistent without changing the spacing rules is to add a space to the negative currency like ¤ -#,##0.00.

comment:5 Changed 4 years ago by mark

  • Priority changed from assess to minor
  • Status changed from assigned to closed
  • Resolution set to needs-more-info

I don't think this is really a bug, so returning.

comment:6 Changed 6 months ago by mark

  • Component changed from main to other

Add a comment

Modify Ticket

as closed
Next status will be 'new'
Next status will be 'closed'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.