Files
CGW/CGWFIELD.PRG
T
Jason Soltys 7905c43278 first commit
2026-07-14 00:41:31 -05:00

44 lines
857 B
Plaintext

FUNCTION CK_IF_NUMERIC(CKFLD)
LOCAL GOODVAR := '', I, CKCHAR
LOCAL REPVAR := ALLTRIM(CKFLD) // -- FIELD TO VALIDATE
LOCAL NUMDEC := 0
** CHECK FOR ALPHA FIELD (!NUMERIC)
FOR I = 1 TO LEN(REPVAR)
CKCHAR := SUBSTR(REPVAR,I,1)
IF !(CKCHAR$'0123456789-.')
I := 999
ELSE
IF (CKCHAR >= CHR(48) .AND. CKCHAR <= CHR(57))
GOODVAR := GOODVAR + CKCHAR
ELSE
IF CKCHAR = '-'
IF I = 1
GOODVAR := GOODVAR + CKCHAR
ELSE
I := 999
ENDIF
ELSE
IF CKCHAR = '.'
NUMDEC ++
IF NUMDEC = 1
GOODVAR := GOODVAR + CKCHAR
ELSE
I := 999
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
NEXT
***IF >= 999, THEN IT WAS AN ALPHA LITERAL STRING
***IF < 999, THEN IT WAS A NUMERIC VALUE
IF I < 999
RETURN .T.
ELSE
RETURN .F.
ENDIF