Unit 'System' Package
[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] [#rtl]

Val

Calculate numerical/enumerated value of a string.

Declaration

Source position: system.fpd line 69

procedure Val(

  const S: string;

  var V;

  var Code: Word

);

Description

Val converts the value represented in the string S to a numerical value or an enumerated value, and stores this value in the variable V, which can be of any integer type (signed or unsigned, sizes from 1 to 8 bytes), floating point type (of any supported size) or any enumerated type. If the conversion is not successful, then the parameter Code contains the index of the character in S which prevented the conversion. The string S is allowed to contain spaces in the beginning.

The string S can contain a number in decimal, hexadecimal, binary or octal format, as described in the language reference. For enumerated values, the string must be the name of the enumerated value. The name is searched case insensitively.

The string can use various radices in addition to a decimal (radix 10) notation:

The conversion to enumerated exists only as of version 2.3.1 (or later) of the compiler.

Errors

If the conversion doesn't succeed, the value of Code indicates the position where the conversion went wrong. The value of V is then undefined.

See also

Str

  

Convert a numerical or enumeration value to a string.

Example

Program Example74;

{ Program to demonstrate the Val function. }
Var I, Code : Integer;

begin
  Val (ParamStr (1),I,Code);
  If Code<>0 then
    Writeln ('Error at position ',code,' : ',Paramstr(1)[Code])
  else
    Writeln ('Value : ',I);
end.

Documentation generated on: Jul 24 2023