first commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user