>>> a = 0.3135 >>> print(\"%.3f\" % a) 0.314 >>> a = 0.3125 >>> print(\"%.3f\" % a) 0.312 >>>
I am exp
If you need accuracy don't use float, use Decimal
>>> from decimal import * >>> d = Decimal(0.3125) >>> getcontext().rounding = ROUND_UP >>> round(d, 3) Decimal('0.313')
or even Fraction