Compara correctamente Double o decimales en Excel VBA | Teknolosys

Compara correctamente Double o decimales en Excel VBA

Hace poco empecé a elaborar un pequeño programa en Excel a través de su editor VBA ,  hasta ahora no había tenido problemas cuando se trataba con números decimales que en el programa lo tipifiqué como “Double”.

error al comparar double

Luego de ejecutar la macro sucedió algo inesperado, al momento de comparar un número mayor de 5 cifras, a pesar que son iguales aparentemente , el bucle no entraba luego del if (me quedé con la cara de wdf) , tal como se muestra en la figura preliminar. Pregunté a algunos amigos programadores los cuales inclusive pensaron que era por versión del Excel, pero la solución era otra.

La razón por la que falla la comparación es que el tipo de dato Double hace referencia a una gran precisión por lo que al no especificar una cantidad decimal suele aproximar por lo que aparentemente no serían iguales en una comparación. Para poder solucionar este inconveniente sólo se debe colocar una función que especifique la cantidad de decimales a aproximar, esa funcion es ROUND.

En la siguiente figura se muestra la corrección y el resultado de la compilación. ¿Tienes otra forma de validar este tipo de datos?

Solucion error comparar decimales

No Comments

Aún no hay comentarios, se el primero...

Deja un comentario

Tema