From 1dc7c8b6191c1fb07903d601fb3f0df7a42f52cb Mon Sep 17 00:00:00 2001 From: Alex Morega Date: Sat, 6 Jul 2013 18:05:13 +0200 Subject: [PATCH] py3 division returns floats; cast back to int --- babel/numbers.py | 2 +- tests/test_numbers.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/babel/numbers.py b/babel/numbers.py index ceac6838..f792e7e5 100644 --- a/babel/numbers.py +++ b/babel/numbers.py @@ -547,7 +547,7 @@ class NumberPattern(object): exp -= self.int_prec[0] - 1 # Exponent grouping elif self.int_prec[1]: - exp = int(exp) / self.int_prec[1] * self.int_prec[1] + exp = int(exp / self.int_prec[1]) * self.int_prec[1] if not isinstance(value, Decimal): value = float(value) if exp < 0: diff --git a/tests/test_numbers.py b/tests/test_numbers.py index 718ed69d..6db4b679 100644 --- a/tests/test_numbers.py +++ b/tests/test_numbers.py @@ -235,6 +235,10 @@ def test_format_percent(): == u'25,123\u2030') +def test_scientific_exponent_displayed_as_integer(): + assert numbers.format_scientific(100000, locale='en_US') == u'1E5' + + def test_format_scientific(): assert numbers.format_scientific(10000, locale='en_US') == u'1E4' assert (numbers.format_scientific(1234567, u'##0E00', locale='en_US') -- 2.47.2