Часто используется в играх-кликалках, позволяет убрать значёк экспоненты и преобразовать огромные Real числа в строку без указания экспоненты.
function FormatLargeNumber(const Value: Real; const Digits: Byte = 1): string; const // Список суффиксов: тыс (K), млн (M), млрд (B), трлн (T), квадрилл (Qa), квинтилл (Qi), секстилл (Sx), септилл (Sp) Suffixes: array[0..14] of string = ('', 'K', 'M', 'B', 'T', 'Qa', 'Qi', 'Sx', 'Sp', 'Oc', 'No', 'Dc', 'UDc', 'DDc', 'TDc'); var Exponent: Integer; BaseValue: Real; begin Result := '0'; if Value > 0 then begin // Определяем индекс суффикса на основе экспоненты (деление на 10^3) Exponent := Floor(Log10(Abs(Value))) div 3; // Ограничиваем индекс границами массива суффиксов if Exponent < 0 then Exponent := 0 else if Exponent > High(Suffixes) then Exponent := High(Suffixes); // Вычисляем базовое число для вывода BaseValue := Value / Power(10, Exponent * 3); // Форматируем строку с заданным количеством знаков после запятой Result := FloatToStrF(BaseValue, ffFixed, 15, Digits) + Suffixes[Exponent]; end; end;