15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как преобразовать значение любого типа в строку.

Компилятор: Delphi

Более подробно ищите в хелпе Delphi по словам "Variant" и "TVarData"....



function ToString(Value: Variant): String;
begin
  case TVarData(Value).VType of
    varSmallInt,
    varInteger   : Result := IntToStr(Value);
    varSingle,
    varDouble,
    varCurrency  : Result := FloatToStr(Value);
    varDate      : Result := FormatDateTime('dd/mm/yyyy', Value);
    varBoolean   : if Value then Result := 'T' else Result := 'F';
    varString    : Result := Value;
    else            Result := '';
  end;
end;


Использование:

ShowMessage(ToString(10.87));
ShowMessage(ToString(10));

или

var
  V1 : Double;
  V2 : Integer;
  V3 : TDateTime;
  V4 : Boolean;

begin
  ...
  ...
  ...

  ShowMessage(ToString(V1));  // Double в String;
  ShowMessage(ToString(V2));  // Integer в String;
  ShowMessage(ToString(V3));  // DateTime в String;
  ShowMessage(ToString(V4));  // Boolean в String;
end;

 

Так же можно пользоваться другими вариантами, например:

varCurrency  : Result := CurrToStrF(Value ,ffFixed,CurrencyDecimals);

и

varDate      : Result := DateToStr(Value);