← index #4411PR #17802
Related · high · value 3.725
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

tests: remove working cpydiff for float rounding

mergedby dpgeorgeopened 2025-08-01updated 2025-08-01
docstests

Summary

In #17444 float formatting was improved, which made tests/cpydiff/types_float_rounding.py now behave the same in MicroPython as in CPython.

But the CI did not pick this up. So tweak the workflow and delete that cpydiff test.

Testing

To be tested by CI.

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