Функция StrToInt64Def в Delphi преобразует строку с целым значением в Int64, учитывая значение по умолчанию.
StrUtils unit
function StrToInt64Def (const IntegerString : string; Default : Integer) : Int64;
Функция StrToInt64Def конвертирует строку с целым значением - IntegerString, такую как '123', в целое Int64, возвращая Default, если преобразование не удалось.
Она поддерживает положительные и отрицательные значения, шестнадцатеричные числа с префиксом $ или 0x.
Примечание.
Исключение EConvertError будет брошено, если есть ошибки в IntegerString, типа конечных пробелов, десятичных точек, недопустимых десятичных или шестнадцатеричных символов.
Функция StrToInt64Def: Пример преобразования десятичных и шестнадцатеричных чисел
var
A, B, C, D, E, F : Int64;
begin
A := 32;
B := StrToInt64('100'); // строка '100' преобразуется в целочисленное 100
C := StrToInt64(' -12'); // Начальные пробелы игнорируются
D := StrToInt64('$1E'); // Шестнадцатеричные значения начинаются с '$'
E := StrToInt64('-0x1E'); // ... или с '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
Функция StrToInt64Def: Захват ошибок преобразования строки в целочисленное значение
var
A : Int64;
begin
// Мы перехватим конверсионные ошибки
try
A := StrToInt64('100 '); // Конечные пробелы не поддерживаются
except
on Exception : EConvertError do
ShowMessage(Exception.Message);
end;
try
A := StrToInt64('$FG'); // 'G' - недопустимая шестнадцатеричная цифра
except
on Exception : EConvertError do
ShowMessage(Exception.Message);
end;
end;
Результат
'100 ' is not a valid integer value
'$FG' is not a valid integer value
Похожие функции и команды
Int64 — 64 битовое целое число (наибольшее в Delphi).
IntToStr — конвертирует целое число в строку.
StrToInt — преобразует строку с целым значением в Integer.
StrToInt64Def — преобразует строку с целым значением в Int64, учитывая значение по умолчанию.
StrToIntDef — преобразует строку с значение с типом Integer, учитывая значение по умолчанию.
