From 6ed4581f545069488446682ee9b052798626327d Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 13 Jun 2017 13:36:56 +1000 Subject: py/formatfloat: Fix number of digits and exponent sign when rounding. This patch fixes 2 things when printing a floating-point number that requires rounding up of the mantissa: - retain the correct precision; eg 0.99 becomes 1.0, not 1.00 - if the exponent goes from -1 to 0 then render it as +0, not -0 --- tests/float/string_format_modulo.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests/float/string_format_modulo.py') diff --git a/tests/float/string_format_modulo.py b/tests/float/string_format_modulo.py index 03c8dd00a..aea534247 100644 --- a/tests/float/string_format_modulo.py +++ b/tests/float/string_format_modulo.py @@ -44,3 +44,6 @@ print(('%.40g' % 1e-3)[:2]) print(('%.40g' % 1e-4)[:2]) print("%.0g" % 1) # 0 precision 'g' + +print('%.1e' % 9.99) # round up with positive exponent +print('%.1e' % 0.999) # round up with negative exponent -- cgit v1.2.3