Skip to content

Commit e96d954

Browse files
authored
bpo-38536: locale: Remove trailing space in formatted currency (GH-16864)
1 parent d8ef644 commit e96d954

File tree

3 files changed

+5
-2
lines changed

3 files changed

+5
-2
lines changed

Lib/locale.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,8 @@ def currency(val, symbol=True, grouping=False, international=False):
279279
if precedes:
280280
s = smb + (separated and ' ' or '') + s
281281
else:
282+
if international and smb[-1] == ' ':
283+
smb = smb[:-1]
282284
s = s + (separated and ' ' or '') + smb
283285

284286
sign_pos = conv[val<0 and 'n_sign_posn' or 'p_sign_posn']

Lib/test/test_locale.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -334,8 +334,7 @@ def test_currency(self):
334334
euro = '\u20ac'
335335
self._test_currency(50000, "50000,00 " + euro)
336336
self._test_currency(50000, "50 000,00 " + euro, grouping=True)
337-
# XXX is the trailing space a bug?
338-
self._test_currency(50000, "50 000,00 EUR ",
337+
self._test_currency(50000, "50 000,00 EUR",
339338
grouping=True, international=True)
340339

341340

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Removes trailing space in formatted currency with `international=True` and a locale with symbol following value.
2+
E.g. `locale.currency(12.34, international=True)` returned `'12,34 EUR '` instead of `'12,34 EUR'`.

0 commit comments

Comments
 (0)