viernes, 9 de mayo de 2014

Cómo saber si un numero es entero o si tiene parte decimal

Hola a todos. A veces necesitamos conocer si un numero (por lo general, contenido en una variable) es entero o decimal. Aqui una solucion practica:


LOCAL lnNumero, lnExp

**--El numero en cuestion es 15.78 = DECIMAL
lnNumero = 15.78


**--Validamos para saber si es decimal o no
lnExp = lnNumero - INT(lnNumero)

**--Despues de restar la parte entera al numero,
**--quedará, de ser decimal, la parte despues del . decimal.
IF lnExp > 0

         **--Es decimal, porque el restante es mayor a 0
         **--Aqui procedemos a como deseemos

ENDIF
**--//


La cosa es tomar la expresion numerica, restar la parte entera y quedará el remanente decimal. Si ese remanente ES MAYOR a cero significa que si hay una parte decimal. Si es igual a cero, la expresion no tenia decimales... por tanto es completamente entero. Facil no?


Es solo una práctica solucion, no es la unica ni la mejor. Cualquier duda o comentario para mejorar es siempre bienvenido.

Un abrazo!
Desde Managua, Nicaragua!
Ravenn :D :D :D



1 comentario: