Mercurial > babel > mirror
changeset 584:e0454b9c125c trunk
fix indentation in split_number
author | fschwarz |
---|---|
date | Sat, 04 Aug 2012 20:22:49 +0000 |
parents | ae897a807442 |
children | 5c9dba5dd311 |
files | babel/numbers.py |
diffstat | 1 files changed, 35 insertions(+), 35 deletions(-) [+] |
line wrap: on
line diff
--- a/babel/numbers.py +++ b/babel/numbers.py @@ -323,41 +323,41 @@ def split_number(value): """Convert a number into a (intasstring, fractionasstring) tuple""" if isinstance(value, Decimal): - # NB can't just do text = str(value) as str repr of Decimal may be - # in scientific notation, e.g. for small numbers. - - sign, digits, exp = value.as_tuple() - # build list of digits in reverse order, then reverse+join - # as per http://docs.python.org/library/decimal.html#recipes - int_part = [] - frac_part = [] - - digits = map(str, digits) - - # get figures after decimal point - for i in range(-exp): - # add digit if available, else 0 - if digits: - frac_part.append(digits.pop()) - else: - frac_part.append('0') - - # add in some zeroes... - for i in range(exp): - int_part.append('0') - - # and the rest - while digits: - int_part.append(digits.pop()) - - # if < 1, int_part must be set to '0' - if len(int_part) == 0: - int_part = '0', - - if sign: - int_part.append('-') - - return ''.join(reversed(int_part)), ''.join(reversed(frac_part)) + # NB can't just do text = str(value) as str repr of Decimal may be + # in scientific notation, e.g. for small numbers. + + sign, digits, exp = value.as_tuple() + # build list of digits in reverse order, then reverse+join + # as per http://docs.python.org/library/decimal.html#recipes + int_part = [] + frac_part = [] + + digits = map(str, digits) + + # get figures after decimal point + for i in range(-exp): + # add digit if available, else 0 + if digits: + frac_part.append(digits.pop()) + else: + frac_part.append('0') + + # add in some zeroes... + for i in range(exp): + int_part.append('0') + + # and the rest + while digits: + int_part.append(digits.pop()) + + # if < 1, int_part must be set to '0' + if len(int_part) == 0: + int_part = '0', + + if sign: + int_part.append('-') + + return ''.join(reversed(int_part)), ''.join(reversed(frac_part)) text = ('%.9f' % value).rstrip('0') if '.' in text: a, b = text.split('.', 1)