1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-30 05:10:37 +00:00

Adapts isnumber() to recognize scientific notation.

This commit is contained in:
FellippeHeitor 2018-10-01 11:19:28 -03:00
parent b29a46d177
commit 78c4de7f6c

View file

@ -18832,17 +18832,31 @@ FUNCTION isnumber (a$)
FOR i = 1 TO LEN(a$)
a = ASC(MID$(a$, i, 1))
IF a = 45 THEN
IF i <> 1 THEN EXIT FUNCTION
GOTO isnumok
IF i = 1 OR (i > 1 AND (d = i - 1 OR e = i - 1)) THEN _CONTINUE
EXIT FUNCTION
END IF
IF a = 46 THEN
IF dp = 1 THEN EXIT FUNCTION
dp = 1
GOTO isnumok
_CONTINUE
END IF
IF a >= 48 AND a <= 57 THEN v = 1: GOTO isnumok
IF a = 100 OR a = 68 THEN 'D
IF d > 1 OR e > 1 THEN EXIT FUNCTION
d = i
_CONTINUE
END IF
IF a = 101 OR a = 69 THEN 'E
IF d > 0 OR e > 1 THEN EXIT FUNCTION
e = i
_CONTINUE
END IF
IF a = 43 THEN '+
IF d = i - 1 OR e = i - 1 THEN _CONTINUE
EXIT FUNCTION
END IF
IF a >= 48 AND a <= 57 THEN _CONTINUE
EXIT FUNCTION
isnumok:
NEXT
isnumber = 1
END FUNCTION