Python - Precisión en decimales

 
Vista:
Imágen de perfil de Gustavo
Val: 64
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Precisión en decimales

Publicado por Gustavo (24 intervenciones) el 04/05/2020 15:39:06

Hola gente:


¿Por Qué al hacer?:
1
3.14*10
¿me muesta?:
1
31.400000000000002
¿De qué dependen esos decimales?
Desde ya, muchas gracias.




.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Precisión

Publicado por joel (901 intervenciones) el 04/05/2020 19:48:06
En Python los números decimales se almacenan internamente en binario con 53 bits de precisión (en concreto, se trata del formato de coma flotante de doble precisión de la norma IEEE-754). Cuando un programa pide a Python un cálculo con números decimales, Python convierte esos números decimales a binario, realiza la operación en binario y convierte el resultado de nuevo en decimal para mostrárselo al usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Precisión

Publicado por tincopasan (1082 intervenciones) el 04/05/2020 20:08:26
más allá de la explicación del porque sucede, para eso viene la función format:
1
2
3
a = 3.14*10
print("{:.9f}".format(a))
print("{:.1f}".format(a))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar