La verdad es que el tipo Variant implementa un mecanismo interno para evaluar que tipo de variable se le está pasando y el mismo se encarga de guardarlo en el formato apropiado, por lo que prácticamente no hay que hacer nada.
Código:
procedure TForm1.Button1Click(Sender: TObject);
Var
MiVar:Double;
MiVariant:Variant;
MiString:String;
begin
MiVar:=4.333;
MiVariant:=MiVar;
MiString:=MiVariant;
ShowMessage(MiString);
end;
Un Saludo.