Foros del Web » Programando para Internet » Python »

round () no me da los resultados que quiero

Estas en el tema de round () no me da los resultados que quiero en el foro de Python en Foros del Web. hola estoy aprendiendo python, segun entendia el segundo argumento de round() espesificaba la cantidad de decimales que deve tener el valor a redondear, pero me ...
  #1 (permalink)  
Antiguo 26/04/2011, 07:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 190
Antigüedad: 15 años, 7 meses
Puntos: 2
round () no me da los resultados que quiero

hola estoy aprendiendo python, segun entendia el segundo argumento de round() espesificaba la cantidad de decimales que deve tener el valor a redondear, pero me tira estos resultados
Código Python:
Ver original
  1. >>> round (1.123456)
  2. 1.0
  3. >>> round (1.123456 , 0)
  4. 1.0
  5. >>> round (1.123456 , 1)
  6. 1.1000000000000001
  7. >>> round (1.123456 , 2)
  8. 1.1200000000000001
  9. >>> round (1.123456 , 3)
  10. 1.123
  11. >>> round (1.123456 , 4)
  12. 1.1234999999999999
  13. >>> round (1.123456 , 5)
  14. 1.1234599999999999
  15. >>> round (1.123456 , 6)
  16. 1.123456

Porque cuando le pido 4 decimales por ejemplo me tira como 15?
  #2 (permalink)  
Antiguo 26/04/2011, 08:05
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años
Puntos: 1360
Respuesta: round () no me da los resultados que quiero

Son por que los flotantes tienen error de precisión y de representacion.

Para mas información ver aquí la explicación detallada.

Puedes usar decimal para una mayor precisión.
  #3 (permalink)  
Antiguo 26/04/2011, 08:37
 
Fecha de Ingreso: septiembre-2008
Mensajes: 190
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: round () no me da los resultados que quiero

muchas gracias, me fue de gran ayuda
  #4 (permalink)  
Antiguo 27/04/2011, 07:55
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: round () no me da los resultados que quiero

Vale mencionar que, si en vez de escribir round escribes "print round()" se mostrará como lo querés. A partir de Python 2.7 se muestra por defecto igual que como en versiones anteriores se mostraba con print.

Etiquetas: resultados, round
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:19.