Mercurial > babel > old > mirror
changeset 359:44637ad19c35
Fix scientific notation for 0. closes #99
author | aronacher |
---|---|
date | Tue, 17 Jun 2008 21:17:44 +0000 |
parents | c82ad0f5ff65 |
children | 36408f068138 |
files | babel/numbers.py babel/tests/numbers.py |
diffstat | 2 files changed, 7 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/babel/numbers.py +++ b/babel/numbers.py @@ -463,7 +463,10 @@ is_negative = int(value < 0) if self.exp_prec: # Scientific notation value = abs(value) - exp = int(math.floor(math.log(value, 10))) + if value: + exp = int(math.floor(math.log(value, 10))) + else: + exp = 0 # Minimum number of integer digits if self.int_prec[0] == self.int_prec[1]: exp -= self.int_prec[0] - 1
--- a/babel/tests/numbers.py +++ b/babel/tests/numbers.py @@ -138,6 +138,9 @@ fmt = numbers.format_scientific(Decimal('12345'), '#.##E+00 m/s', locale='en_US') self.assertEqual(fmt, '1.23E+04 m/s') + # 0 (see ticket #99) + fmt = numbers.format_scientific(0, '#E0', locale='en_US') + self.assertEqual(fmt, '0E0') def suite():