Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
StrToIntDef
Функция
Преобразует строку с значение с типом Integer, учитывая значение по умолчанию SysUtils unit
  function StrToIntDef ( const IntegerString : string; Default : Integer ) : Integer;
Описание
Функция StrToIntDef конвертирует строку с целым IntegerString, такую как '123', в целое Integer, возвращая Default, если преобразование не удалось.

Она поддерживает положительные и отрицательные значения, шестнадцатеричные числа с префиксов $ или 0x.
Примечания
Никакие конверсионные ошибки не генерируются - плохое преобразование просто возвращает (Default) значению по умолчанию.
Похожие команды
Integer  Основной тип целого числа

IntToStr  Конвертирует целое число в строку

StrToInt  Преобразует строку с целым значением в Integer

StrToInt64  Преобразует строку с целым значением в Int64

StrToInt64Def  Преобразует строку с целым значением в Int64, учитывая значение по умолчанию

 
Пример кода : Преобразование десятичных и шестнадцатеричных чисел
var
  A, B, C, D, E, F : Int64;

begin
  A := 32;
  B := StrToIntDef('100',0);    // строка '100' преобразуется в целочисленное 100
  C := StrToIntDef('  -12',0);  // Начальные пробелы игнорируются
  D := StrToIntDef('$1E',0);    // Шестнадцатеричные значения начинаются с '$'
  E := StrToIntDef('-0x1E',0);  // ... или с '0x'
  F := A + B + C + D + E;  // Складываем все эти целые числа

  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;
A : 32
B : 100
C : -12
D : 30
E : -30
F : 120
 
Пример кода : Захват ошибок преобразования строки в целочисленное значение
var
  A : Int64;

begin
  // Нет необходимости перехватывать конверсионные ошибки
  A := StrToIntDef('100 ', 55);    // Конечные пробелы не поддерживаются
  ShowMessage('Value = '+IntToStr(A));

  A := StrToIntDef('$FG' , 66);    // 'G' - недопустимая шестнадцатеричная цифра
  ShowMessage('Value = '+IntToStr(A));
end;
Value = 55
Value = 66
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия