QUERY · ISSUE
Single precision floating point formatting issues
docs
While investigating #1435 I ran into some other formatting issues. The output isn't necessarily wrong, but it doesn't match CPython either (although I am concerned about the outputting more data than requested potentially causing a buffer overflow).
1 - Outputting more data than requested.
On pyboard:
>>> '{:.4e}'.format(9.99999e-5)
'1.00000e-04'
On CPython:
>>> '{:.4e}'.format(9.99999e-5)
'1.0000e-04'
2 - making the wrong choice about when to use e notation:
pyboard:
>>> '%5.g' % 9.99999
' 10'
CPython:
>>> '%5.g' % 9.99999
'1e+01'
3 - Failing to normalize when rounding:
pyboard:
>>> '%5.e' % 9.99999
'10e+00'
CPython:
>>> '%5.e' % 9.99999
'1e+01'
CANDIDATE · PULL REQUEST
stmhal: fix single precision float printing error
Fixes #1435.