diff options
author | Mark Dickinson <dickinsm@gmail.com> | 2009-09-08 20:22:46 (GMT) |
---|---|---|
committer | Mark Dickinson <dickinsm@gmail.com> | 2009-09-08 20:22:46 (GMT) |
commit | 46ab5d09518286aabdd57f67bfd2ae7a6451afa2 (patch) | |
tree | 68f17ed70167e51344160fa20739e77cfb2ebfcc | |
parent | 3c064c172a0f075ad94bfaafe8823a05bc9b7cb8 (diff) | |
download | cpython-46ab5d09518286aabdd57f67bfd2ae7a6451afa2.zip cpython-46ab5d09518286aabdd57f67bfd2ae7a6451afa2.tar.gz cpython-46ab5d09518286aabdd57f67bfd2ae7a6451afa2.tar.bz2 |
Merged revisions 74723 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74723 | mark.dickinson | 2009-09-08 21:20:19 +0100 (Tue, 08 Sep 2009) | 3 lines
Issue #6857: Fix Decimal formatting to be consistent with existing float
formatting: both are now right-aligned by default.
........
-rw-r--r-- | Lib/decimal.py | 5 | ||||
-rw-r--r-- | Lib/test/test_decimal.py | 3 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
3 files changed, 9 insertions, 2 deletions
diff --git a/Lib/decimal.py b/Lib/decimal.py index e3fa8cb..33f5391 100644 --- a/Lib/decimal.py +++ b/Lib/decimal.py @@ -5577,7 +5577,10 @@ def _parse_format_specifier(format_spec, _localeconv=None): raise ValueError("Alignment conflicts with '0' in " "format specifier: " + format_spec) format_dict['fill'] = fill or ' ' - format_dict['align'] = align or '<' + # PEP 3101 originally specified that the default alignment should + # be left; it was later agreed that right-aligned makes more sense + # for numeric types. See http://bugs.python.org/issue6857. + format_dict['align'] = align or '>' # default sign handling: '-' for negative, '' for positive if format_dict['sign'] is None: diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py index e3e50f0..39a0ad5 100644 --- a/Lib/test/test_decimal.py +++ b/Lib/test/test_decimal.py @@ -701,6 +701,7 @@ class DecimalFormatTest(unittest.TestCase): ('', '1.00', '1.00'), # test alignment and padding + ('6', '123', ' 123'), ('<6', '123', '123 '), ('>6', '123', ' 123'), ('^6', '123', ' 123 '), @@ -730,7 +731,7 @@ class DecimalFormatTest(unittest.TestCase): (',', '-1234567', '-1,234,567'), (',', '-123456', '-123,456'), ('7,', '123456', '123,456'), - ('8,', '123456', '123,456 '), + ('8,', '123456', ' 123,456'), ('08,', '123456', '0,123,456'), # special case: extra 0 needed ('+08,', '123456', '+123,456'), # but not if there's a sign (' 08,', '123456', ' 123,456'), @@ -70,6 +70,9 @@ C-API Library ------- +- Issue #6857: Default format() alignment should be '>' for Decimal + instances. + - Issue #6795: int(Decimal('nan')) now raises ValueError instead of returning NaN or raising InvalidContext. Also, fix infinite recursion in long(Decimal('nan')). |