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/.

Fork me on GitHub