Тема: Модуль SysUtils
Я подумал, что, так как, всё равно ещё нужны будут такие функции, как IntToHex, то было бы полезно иметь функцию конвертирования числа в строку.
Я в своей программе tinfo использовал функцию ConvertToBase.
Эта функция конвертирует число в строку с учётом системы счисления(от 2 до 36), там по ссылке показано, чтобы получить десятичное беззнаковое число(uint2str), нужно вызвать ConvertToBase с определёнными параметрами.
Так вот, есть такая же функция для 64-битных чисел.
Да даже для 128-битных
Но есть некоторые вариации кода.
Какие критерии для нас важны?
Я нахожу 3 варианта
высокая скорость работы, без учёта объёма кода
небольшой код, приемлемая скорость выполнения
минимальный код, без учёта скорости выполнения
В общем, я предлагаю добавить функцию ConvertToBase64.
А с помощью неё делать преобразования
32-битных, 64-битных, знаковых, беззнаковых, двоичных, десятичных, шестнадцатеричных(вообще от 2 до 36) чисел в строку.
Добавлено 2020-07-01 в 12:33
Насчёт StrToInt уже было в этой теме ранее
и тут ещё
Freeman пишет:адаптировать StrToInt к ShortString
function StrToInt(const Str: ShortString): LongInt; overload; begin Result := StrToInt(@Str[1]); end;