Can someone please explain these results to me and why they are different:

>>> 7339520/(1024.0*1024)
6.99951171875
>>> print "%0.3f" % (7339520/(1024.0*1024))
7.000
>>>

What if i just wanted to tell it to truncate to 3 decimal points? That is what i wanted to do in the first place. :(

The issue is that i want print "%0.3f" % (7339520/(1024.0*1024)) to give me 6.99 instead of 7. Is there an easy way to do this ?

I did not find exact match as round rounds numbers, does not cut. It is simple to write small function though:

>>> def cut(n, decimals):
	return int(n*10**decimals)/10**decimals

>>> cut(7339520/(1024.0*1024), 3)
6.999
>>> cut(7339520/(1024.0*1024), 2)
6.99
>>>

I did not find exact match as round rounds numbers, does not cut. It is simple to write small function though:

>>> def cut(n, decimals):
	return int(n*10**decimals)/10**decimals

>>> cut(7339520/(1024.0*1024), 3)
6.999
>>> cut(7339520/(1024.0*1024), 2)
6.99
>>>

you can use math.trunc() instead of int().

This question has already been answered. Start a new discussion instead.