Issue #6850: Fix bug in Decimal._parse_format_specifier for formats

with no type specifier.
This commit is contained in:
Mark Dickinson 2009-09-07 16:17:41 +00:00
parent d692a71fdd
commit 491ea55f28
3 changed files with 7 additions and 1 deletions

View File

@ -5512,7 +5512,7 @@ def _parse_format_specifier(format_spec, _localeconv=None):
# if format type is 'g' or 'G' then a precision of 0 makes little
# sense; convert it to 1. Same if format type is unspecified.
if format_dict['precision'] == 0:
if format_dict['type'] in 'gG' or format_dict['type'] is None:
if format_dict['type'] is None or format_dict['type'] in 'gG':
format_dict['precision'] = 1
# determine thousands separator, grouping, and decimal separator, and

View File

@ -760,6 +760,9 @@ class DecimalFormatTest(unittest.TestCase):
(',%', '123.456789', '12,345.6789%'),
(',e', '123456', '1.23456e+5'),
(',E', '123456', '1.23456E+5'),
# issue 6850
('a=-7.0', '0.12345', 'aaaa0.1'),
]
for fmt, d, result in test_values:
self.assertEqual(format(Decimal(d), fmt), result)

View File

@ -366,6 +366,9 @@ Core and Builtins
Library
-------
- Issue #6850: Fix bug in Decimal._parse_format_specifier for formats
with no type specifier.
- Issue #4937: plat-mac/bundlebuilder revers to non-existing version.plist
- Issue #6838: Use a list to accumulate the value instead of