Python redondeo incorrecto con números de punto flotante
>>> a = 0.3135
>>> print("%.3f" % a)
0.314
>>> a = 0.3125
>>> print("%.3f" % a)
0.312
>>>
Estoy esperando 0.313 en lugar de 0.312 ¿Alguna idea de por qué es esto y hay una forma alternativa que pueda usar para obtener 0.313?
Gracias