← index #4411PR #16480
Related · high · value 1.715
QUERY · ISSUE

f presentation type is not rounding

openby qoheniacopened 2019-01-19updated 2024-09-19
needs-info

In MicroPython (tested with version 1.9.3) the f presentation type (as in "{:.0f}".format(x)) is not rounding floating point numbers as CPython (tested with 3.7.2) does. Actually I'm not sure what it really does. It is not rounding, not flooring and not truncating as the following examples show:

print("{:.0f}".format(100.0))
CPython: >>> 100
MicroPython: >>> 100

print("{:.0f}".format(100.9))
CPython: >>> 101
MicroPython: >>> 100

print("{:.0f}".format(101.0))
CPython: >>> 101
MicroPython: >>> 100

print("{:.0f}".format(99.5))
CPython: >>> 100
MicroPython: >>> 99

print("{:.0f}".format(99.6))
CPython: >>> 100
MicroPython: >>> 100
CANDIDATE · PULL REQUEST

f-string thousands separator for float

openby ludollaooopened 2024-12-24updated 2025-01-28
py-core

Summary

Closes #11284
thousand separator was not implemented for floating point number

Testing

test the thousand separator for different float
test that the rounding up with the thousand separator (esp : 9,999.99 rounded to 10,000.0)

couldn't test that no buffer overflow occurs when using the thousand separator

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied