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

Материал из DRKB

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

Более подробно ищите в хелпе 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 a String
  ShowMessage(ToString(V2));  // Integer a String
  ShowMessage(ToString(V3));  // DateTime a String
  ShowMessage(ToString(V4));  // Boolean a String
end;

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

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

и

 varDate: Result := DateToStr(Value);


Source: http://delphiworld.narod.ru/
ID: 00946