From 540ca563dea624823e0b363f98302a78294836ad Mon Sep 17 00:00:00 2001 From: Varun Sharma Date: Sun, 8 Feb 2015 03:06:45 +0530 Subject: [PATCH] Fixed #24181 -- Fixed multi-char THOUSAND_SEPARATOR insertion Report and original patch by Kay Cha. --- django/utils/numberformat.py | 2 +- tests/utils_tests/test_numberformat.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/django/utils/numberformat.py b/django/utils/numberformat.py index dcccc99e0b..3f61a6600a 100644 --- a/django/utils/numberformat.py +++ b/django/utils/numberformat.py @@ -47,7 +47,7 @@ def format(number, decimal_sep, decimal_pos=None, grouping=0, thousand_sep='', int_part_gd = '' for cnt, digit in enumerate(int_part[::-1]): if cnt and not cnt % grouping: - int_part_gd += thousand_sep + int_part_gd += thousand_sep[::-1] int_part_gd += digit int_part = int_part_gd[::-1] return sign + int_part + dec_part diff --git a/tests/utils_tests/test_numberformat.py b/tests/utils_tests/test_numberformat.py index 84ba378e46..43579060bc 100644 --- a/tests/utils_tests/test_numberformat.py +++ b/tests/utils_tests/test_numberformat.py @@ -26,6 +26,9 @@ class TestNumberFormat(TestCase): self.assertEqual(nformat('1234', '.', grouping=2, thousand_sep=',', force_grouping=True), '12,34') self.assertEqual(nformat('-1234.33', '.', decimal_pos=1), '-1234.3') + self.assertEqual(nformat('10000', '.', grouping=3, + thousand_sep='comma', force_grouping=True), + '10comma000') def test_large_number(self): most_max = ('{}179769313486231570814527423731704356798070567525844996'