float decimals decimales python floating-point precision floating-accuracy

python - decimals - Limitaciones de puntos flotantes



python truncate float (3)

Esto no es un inconveniente de Python, más bien, es un inconveniente de la forma en que los números de coma flotante se almacenan en una computadora. Independientemente del lenguaje de implementación, encontrará problemas similares.

Usted dice que quiere ''mostrar'' A como un punto flotante, ¿por qué no simplemente muestra la cuerda? Visualmente será idéntico a lo que espera.

Como mencionó Jon, si sus necesidades son más que simplemente ''mostrar'' el número de coma flotante, debe usar el módulo decimal para almacenar la representación exacta.

Mi código:

a = ''2.3''

Quería mostrar a como un punto flotante.

Como a es una cadena, probé:

float(a)

El resultado que obtuve fue:

2.2999999999999998

Quiero una solución para este problema. Por favor, amablemente ayúdenme.

Estaba siguiendo este tutorial .


Excelentes respuestas explicando razones. Solo deseo agregar una posible solución práctica de la biblioteca estándar:

>>> from decimal import Decimal >>> a = Decimal(''2.3'') >>> print a 2.3

Esta es realmente una (muy) Pregunta frecuente para Python y puede leer la respuesta aquí .

Editar: Me acabo de dar cuenta de que John Skeet ya lo mencionó. Oh bien...