[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#45871: Incorrect currency symbol used by locale support
From: |
Guenther Brunthaler |
Subject: |
bug#45871: Incorrect currency symbol used by locale support |
Date: |
Thu, 14 Jan 2021 20:19:54 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
The (locale-currency-symbol) procedure uses the wrong locale setting,
which effects the formatting of monetary amounts:
scheme@(guile-user)> (use-modules (ice-9 i18n))
scheme@(guile-user)> (setlocale LC_ALL "")
$3 = "de_AT.UTF-8"
scheme@(guile-user)> (display (monetary-amount->locale-string +123.456
#f)) (newline)
-€ 123,46
A negative amount???
This seems to be the source of the problem:
scheme@(guile-user)> (locale-currency-symbol #f)
$2 = "-€"
(Note if your e-mail agent cannot display the currency symbol correctly:
The symbol ought to be displayed as the EUR-sign.)
Obviously, the implementation uses the "crncystr" setting:
$ locale -kc LC_MONETARY | grep -E '€'
currency_symbol="€"
crncystr="-€"
duo_currency_symbol="€"
Problem resolution: The implementation should use the "currency_symbol"
setting rather than the "crncystr" setting.
Alternatively, the "crncystr" can be used, but then the first character
should be interpreted as defined by the POSIX standard, i. e. as a mode
indicator and not as part of the actual currency symbol.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#45871: Incorrect currency symbol used by locale support,
Guenther Brunthaler <=