Grave Error en Excel en Operaciones
Publicado por Zeus Alberto Páez Rentería (26 intervenciones) el 26/06/2010 02:07:13
Buenas Señores
Resulta que realizando un programa en VBA mi programa se quedaba ciclado buscando una solucion. Revise muchas veces el codigo y no encontre errores hasta que dude del Excel.
He aqui el codigo ciclado en un Do Loop en resumen
If Dif>0.01 then
'operaciones
Elseif Dif<0 then
'operaciones
Elseif Dif>0 AND Dif<0.01 then
Exit Do
End if
Estamos hablando de que el valor de Dif quiero que caiga entre 0 y 0.01 nunca cayo
Bien pues he aqui el detalle. Pues excel no calcula bien esta operacion:
=100-99.99999
La solucion sencilla 1x10^-5 o 0.00001
Si la ejecutas todo se ve perfecto porque excel te pone 1E-05
Pero nos vamos a Format>>Cells>>Numer>>Category(Number)>>Decimal places: 30
Y veamos que no es 0.00001 sino 0.0000100000000031741...
La pregunta es que ????? Que diablos hacen esos numeros ahi. ...31741...
Peor aun si agregas mas nueves el error incrementa.
100-99.999999
Excel Arroja 0.000000999999997475243000000000
Lo correcto seria 0.000001 o 1x10^6
Alguien sabe porque sucede, muchas gracias
Ing. Zeus Alberto Paez Renteria
Departamento de Ingenieria
Triumph Aerospace Group
[email protected]
Resulta que realizando un programa en VBA mi programa se quedaba ciclado buscando una solucion. Revise muchas veces el codigo y no encontre errores hasta que dude del Excel.
He aqui el codigo ciclado en un Do Loop en resumen
If Dif>0.01 then
'operaciones
Elseif Dif<0 then
'operaciones
Elseif Dif>0 AND Dif<0.01 then
Exit Do
End if
Estamos hablando de que el valor de Dif quiero que caiga entre 0 y 0.01 nunca cayo
Bien pues he aqui el detalle. Pues excel no calcula bien esta operacion:
=100-99.99999
La solucion sencilla 1x10^-5 o 0.00001
Si la ejecutas todo se ve perfecto porque excel te pone 1E-05
Pero nos vamos a Format>>Cells>>Numer>>Category(Number)>>Decimal places: 30
Y veamos que no es 0.00001 sino 0.0000100000000031741...
La pregunta es que ????? Que diablos hacen esos numeros ahi. ...31741...
Peor aun si agregas mas nueves el error incrementa.
100-99.999999
Excel Arroja 0.000000999999997475243000000000
Lo correcto seria 0.000001 o 1x10^6
Alguien sabe porque sucede, muchas gracias
Ing. Zeus Alberto Paez Renteria
Departamento de Ingenieria
Triumph Aerospace Group
[email protected]
Valora esta pregunta


0