Description |
The StrToInt function converts an Integer string, IntegerString such as '123' into an Integer.
It supports +ve and -ve numbers, and hexadecimal numbers, as prefixed by $ or 0x.
Note that for Delphi 7 and possibly other versions of Delphi, you may omit the 0 before the x for hexadecimal values.
|
|
Notes |
The EConvertError exception is thrown if there are errors in IntegerString, such as trailing blanks, decimal points, invalid decimal or hexadecimal characters.
|
|
Related commands |
Integer |
|
The basic Integer type |
IntToStr |
|
Convert an integer into a string |
StrToInt64 |
|
Convert an integer string into an Int64 value |
StrToInt64Def |
|
Convert a string into an Int64 value with default |
StrToIntDef |
|
Convert a string into an Integer value with default |
|
|
|
Example code : Converting decimal and hexadecimal numbers |
// Full Unit code. // ----------------------------------------------------------- // You must store this code in a unit called Unit1 with a form // called Form1 that has an OnCreate event called FormCreate. unit Unit1; interface uses SysUtils, // Unit containing the StrToInt command Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} // Include form definitions procedure TForm1.FormCreate(Sender: TObject); var
A, B, C, D, E, F : Integer;
begin
A := 32; B := StrToInt('100'); // '100' string converted to 100 integer C := StrToInt(' -12'); // Leading blanks are ignored D := StrToInt('$1E'); // Hexadecimal values start with a '$' E := StrToInt('-0x1E'); // ... or with a '0x' F := A + B + C + D + E; // Lets add up all these integers
ShowMessage('A : '+IntToStr(A));
ShowMessage('B : '+IntToStr(B));
ShowMessage('C : '+IntToStr(C));
ShowMessage('D : '+IntToStr(D));
ShowMessage('E : '+IntToStr(E));
ShowMessage('F : '+IntToStr(F));
end; end.
|
Hide full unit code |
A : 32
B : 100
C : -12
D : 30
E : -30
F : 120
|
|
Example code : Catching string to integer conversion errors |
var
A : Integer;
begin // We will catch conversion errors
try A := StrToInt('100 '); // Trailing blanks are not supported
except
on Exception : EConvertError do
ShowMessage(Exception.Message);
end;
try A := StrToInt('$FG'); // 'G' is an invalid hexadecimal digit
except
on Exception : EConvertError do
ShowMessage(Exception.Message);
end;
end;
|
Show full unit code |
'100 ' is not a valid integer value
'$FG' is not a valid integer value
|
|