Описание |
Функция 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
|
|