summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/locale.py2
-rw-r--r--Lib/test/test_locale.py3
-rw-r--r--Misc/NEWS.d/next/Library/2019-10-21-20-24-51.bpo-38536.beZ0Sk.rst2
3 files changed, 5 insertions, 2 deletions
diff --git a/Lib/locale.py b/Lib/locale.py
index dd8a085..1a4e9f6 100644
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -279,6 +279,8 @@ def currency(val, symbol=True, grouping=False, international=False):
if precedes:
s = smb + (separated and ' ' or '') + s
else:
+ if international and smb[-1] == ' ':
+ smb = smb[:-1]
s = s + (separated and ' ' or '') + smb
sign_pos = conv[val<0 and 'n_sign_posn' or 'p_sign_posn']
diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index c5d8e26..2863d20 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -334,8 +334,7 @@ class TestFrFRNumberFormatting(FrFRCookedTest, BaseFormattingTest):
euro = '\u20ac'
self._test_currency(50000, "50000,00 " + euro)
self._test_currency(50000, "50 000,00 " + euro, grouping=True)
- # XXX is the trailing space a bug?
- self._test_currency(50000, "50 000,00 EUR ",
+ self._test_currency(50000, "50 000,00 EUR",
grouping=True, international=True)
diff --git a/Misc/NEWS.d/next/Library/2019-10-21-20-24-51.bpo-38536.beZ0Sk.rst b/Misc/NEWS.d/next/Library/2019-10-21-20-24-51.bpo-38536.beZ0Sk.rst
new file mode 100644
index 0000000..147d181
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-10-21-20-24-51.bpo-38536.beZ0Sk.rst
@@ -0,0 +1,2 @@
+Removes trailing space in formatted currency with `international=True` and a locale with symbol following value.
+E.g. `locale.currency(12.34, international=True)` returned `'12,34 EUR '` instead of `'12,34 EUR'`.