(Under construction.)
procedure Val (const Source: String; var x: integer_or_real; var ErrorPosition: Integer);
Val
converts the integer or real number that is represented
by the characters in the string Source
and places it into
x
.
The Source
string can have a base prefix ($
for
hexadecimal or Base#
). The optional ErrorCode
will be
set to the position of the first invalid character, or to a 0 if the
entire string represents a valid number. In case an invalid
character occurrs in Source
, x
will be undefined.
Val
is a Borland Pascal extension.
program ValDemo; var x, ec: Integer; l: LongInt; r: Real; begin Val ('123', x, ec); { x := 123; ec := 0; } Val ('-123', x, ec); { x := -123; ec := 0; } Val ('123.456', r, ec); { r := 123.456; ec := 0; } Val ('$ffff', x, ec); { x := 65535; ec := 0; } Val ('$F000', x, ec); { x := 61440; ec := 0; } Val ('-$ffff', x, ec); { x := -65535; ec := 0; } Val ('12#100', x, ec); { x := 144; ec := 0; } Val ('-2#11111111', x, ec); { x := -255; ec := 0; } { here we have the invalid character 'X' for base 16 } Val ('$fffeX', x, ec); { x := <undefined>; ec := 6; } Val ('12#100invalid', x, ec); { x := <undefined>; ec := 7; } Val ('36#Jerusalem', l, ec); { l := 54758821170910; ec := 0; } end.