Next: , Previous: uses, Up: Reference

### Val

(Under construction.)

#### Synopsis

```     procedure Val (const Source: String; var x: integer_or_real;
var ErrorPosition: Integer);
```

#### Description

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.

#### Conforming to

Val is a Borland Pascal extension.

#### Example

```     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.
```