Функція 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, враховуючи значення за промовчанням.
