Cheat sheet de punto flotante para Python
Tipos de punto flotante
Casi todas las plataformas asocian los float
de Python a números de punto
flotante de doble precisión del IEEE 754.
f = 0.1
Tipos decimales
Python tiene un tipo de precisión arbitraria decimal llamado
Decimal
en el módulo decimal
, que también permite elegir el método de
redondeo.
a = Decimal('0.1')
b = Decimal('0.2')
c = a + b # Devuelve un Decimal que representa exactamente 0.3
Cómo redondear
Para obtener una cadena:
"{:.2f}".format(1.2399) # Devuelve "1.24"
"{:.3f}".format(1.2399) # Devuelve "1.240"
"{:.2f}".format(1.2) # Devuelve "1.20"
Para imprimir por la salida estándar (Python 2.x):
print "{:.2f}".format(1.2399)
y en Python 3.x:
print("{:.2f}".format(1.2399))
Métodos de redondeo específicos y otros parámetros se pueden
definir en un objeto Context
:
getcontext().prec = 7
Recursos
© Publicado en http://puntoflotante.org/ bajo una licencia Creative Commons Atribución Unported (BY). Original en inglés por Michael Borgwardt en http://floating-point-gui.de/.