mirror of
https://github.com/python/cpython.git
synced 2025-09-09 18:32:22 +00:00
gh-87790: support thousands separators for formatting fractional part of floats (#125304)
```pycon >>> f"{123_456.123_456:_._f}" # Whole and fractional '123_456.123_456' >>> f"{123_456.123_456:_f}" # Integer component only '123_456.123456' >>> f"{123_456.123_456:._f}" # Fractional component only '123456.123_456' >>> f"{123_456.123_456:.4_f}" # with precision '123456.1_235' ```
This commit is contained in:
parent
fa6a8140dd
commit
f39a07be47
9 changed files with 218 additions and 45 deletions
|
@ -754,6 +754,28 @@ class FormatTestCase(unittest.TestCase):
|
|||
self.assertEqual(format(INF, 'f'), 'inf')
|
||||
self.assertEqual(format(INF, 'F'), 'INF')
|
||||
|
||||
# thousands separators
|
||||
x = 123_456.123_456
|
||||
self.assertEqual(format(x, '_f'), '123_456.123456')
|
||||
self.assertEqual(format(x, ',f'), '123,456.123456')
|
||||
self.assertEqual(format(x, '._f'), '123456.123_456')
|
||||
self.assertEqual(format(x, '.,f'), '123456.123,456')
|
||||
self.assertEqual(format(x, '_._f'), '123_456.123_456')
|
||||
self.assertEqual(format(x, ',.,f'), '123,456.123,456')
|
||||
self.assertEqual(format(x, '.10_f'), '123456.123_456_000_0')
|
||||
self.assertEqual(format(x, '.10,f'), '123456.123,456,000,0')
|
||||
self.assertEqual(format(x, '>21._f'), ' 123456.123_456')
|
||||
self.assertEqual(format(x, '<21._f'), '123456.123_456 ')
|
||||
self.assertEqual(format(x, '+.11_e'), '+1.234_561_234_56e+05')
|
||||
self.assertEqual(format(x, '+.11,e'), '+1.234,561,234,56e+05')
|
||||
|
||||
self.assertRaises(ValueError, format, x, '._6f')
|
||||
self.assertRaises(ValueError, format, x, '.,_f')
|
||||
self.assertRaises(ValueError, format, x, '.6,_f')
|
||||
self.assertRaises(ValueError, format, x, '.6_,f')
|
||||
self.assertRaises(ValueError, format, x, '.6_n')
|
||||
self.assertRaises(ValueError, format, x, '.6,n')
|
||||
|
||||
@support.requires_IEEE_754
|
||||
def test_format_testfile(self):
|
||||
with open(format_testfile, encoding="utf-8") as testfile:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue