DelphiBasics
 StrToIntDefFunction Convert a string into an Integer value with default SysUtils unit
 function StrToIntDef ( const IntegerString : string; Default : Integer ) : Integer;
Description
The StrToIntDef function converts an Integer string, IntegerString such as '123' into an Integer value, with a Default if the conversion fails.

It supports +ve and -ve numbers, and hexadecimal numbers, as prefixed by \$ or 0x.
Notes
No conversion errors are generated - bad conversions simply result in the Default being returned.
Related commands
 Integer The basic Integer type IntToStr Convert an integer into a string StrToInt Convert an integer string into an Integer value StrToInt64 Convert an integer string into an Int64 value StrToInt64Def Convert a string into an Int64 value with default
Author links

Download this web site as a Windows program.

 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 StrToIntDef 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 := StrToIntDef('100', 0);    // '100' string converted to 100 integer  C := StrToIntDef('  -12', 0);  // Leading blanks are ignored  D := StrToIntDef('\$1E', 0);    // Hexadecimal values start with a '\$'  E := StrToIntDef('-0x1E', 0);  // ... 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  // No need to catch conversion errors  A := StrToIntDef('100 ', 55);    // Trailing blanks are not supported   ShowMessage('Value = '+IntToStr(A));   A := StrToIntDef('\$FG' , 66);    // 'G' is an invalid hexadecimal digit   ShowMessage('Value = '+IntToStr(A)); end; Show full unit code Value = 55   Value = 66
 Delphi Programming © Neil Moffatt 2002 - 2020. All rights reserved.  |  Home Page