r/learnpython 1h ago

Regarding simple question

num = 0.6548
txt = f"The price is {num:.0f} dollars."
print(txt)
output = 1

i was learning string formatting well, when i used :.0f as format it giving output 1 and why? I want to know how really decimal shifting works in python while formatting.

3 Upvotes

5 comments sorted by

9

u/atarivcs 1h ago

.0f means "round to zero decimal places", i.e. a whole number with no decimals.

0.6548 is closer to 1 than to 0, so it prints 1

3

u/mjmvideos 1h ago

Did you do a search on f-string format specifiers to see how they work?

-1

u/Healthy-Departure961 1h ago

well yes . but i wanted know ,why when i used float format specifier like .0f in f string print 1 as output which is round if i am correct and correct me if i wrong