| 1234567891011121314151617181920212223242526 |
- MODULE TValConv;
- (* VAL conversions across INTEGER / LONGINT / REAL. Exit 15. *)
- VAR ExitCode : INTEGER;
- VAR i : INTEGER;
- VAR l : LONGINT;
- VAR r : REAL;
- BEGIN
- ExitCode := 0;
- (* INTEGER -> LONGINT -> INTEGER (widen, then narrow) *)
- l := VAL(LONGINT, 1000);
- IF VAL(INTEGER, l) = 1000 THEN ExitCode := ExitCode + 1 END;
- (* INTEGER -> REAL *)
- r := VAL(REAL, 3);
- IF r = 3.0 THEN ExitCode := ExitCode + 2 END;
- (* REAL -> INTEGER (truncate toward zero) *)
- r := 3.9;
- IF VAL(INTEGER, r) = 3 THEN ExitCode := ExitCode + 4 END;
- (* LONGINT -> REAL *)
- l := 7;
- r := VAL(REAL, l);
- IF r = 7.0 THEN ExitCode := ExitCode + 8 END
- END TValConv.
|