Cita:
Iniciado por Hidek1 (...)
Código PHP:
Ver original<?php
for($a = 0.1; $a < 70; $a += 0.1){
echo $a."<br>\n";
}
?>
por que hace todo bien hasta el 54 ?
Código txt:
Ver original... etc ...
53
53.1
53.2
53.3
53.4
53.5
53.6
53.7
53.8
53.9
54
54.1
54.200000000001
54.300000000001
54.400000000001
54.500000000001
54.600000000001
.... 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!