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
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():