25 lines
633 B
Text
25 lines
633 B
Text
MODULE Numeric EXPORTS Main;
|
|
|
|
IMPORT IO, Fmt, Text;
|
|
|
|
PROCEDURE isNumeric(s: TEXT): BOOLEAN =
|
|
BEGIN
|
|
FOR i := 0 TO Text.Length(s) DO
|
|
WITH char = Text.GetChar(s, i) DO
|
|
IF i = 0 AND char = '-' THEN
|
|
EXIT;
|
|
END;
|
|
IF char >= '0' AND char <= '9' THEN
|
|
EXIT;
|
|
END;
|
|
RETURN FALSE;
|
|
END;
|
|
END;
|
|
RETURN TRUE;
|
|
END isNumeric;
|
|
|
|
BEGIN
|
|
IO.Put("isNumeric(152) = " & Fmt.Bool(isNumeric("152")) & "\n");
|
|
IO.Put("isNumeric(-3.1415926) = " & Fmt.Bool(isNumeric("-3.1415926")) & "\n");
|
|
IO.Put("isNumeric(Foo123) = " & Fmt.Bool(isNumeric("Foo123")) & "\n");
|
|
END Numeric.
|