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
muy buen aporte
ResponderEliminar