Ver Mensaje Individual
  #12 (permalink)  
Antiguo 06/04/2010, 07:47
keber
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: PHP esta loco o,O

Cita:
Iniciado por Hidek1 Ver Mensaje
(...)

Código PHP:
Ver original
  1. <?php
  2. for($a = 0.1; $a < 70; $a += 0.1){
  3.     echo $a."<br>\n";
  4. }
  5. ?>

por que hace todo bien hasta el 54 ?

Código txt:
Ver original
  1. ... etc ...
  2. 53
  3. 53.1
  4. 53.2
  5. 53.3
  6. 53.4
  7. 53.5
  8. 53.6
  9. 53.7
  10. 53.8
  11. 53.9
  12. 54
  13. 54.1
  14. 54.200000000001
  15. 54.300000000001
  16. 54.400000000001
  17. 54.500000000001
  18. 54.600000000001
  19. .... etc ...

:S?
Hola,

No me consta que sea la razón de este problema, pero me hizo recordar lo siguiente:

Matemáticamente, entre cada número real existe una cantidad infinita de números reales. Pero en una máquina existe una cantidad finita de ellos. Es decir, entre cada fracción de número hay un "step", ese step es tan pequeño que da la sensación de continuidad, pero en la práctica no lo es.

ese 000000001 que te aparece puede ser el error acumulado a lo largo de las 540 sumas anteriores.

En la página 9 de - https://www.u-cursos.cl/ingenieria/2007/2/MA33A/3/material_docente/objeto/136815 - hay una explicación algo más clara.

Saludos!

Última edición por keber; 06/04/2010 a las 07:55 Razón: Link