Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Hex String in Float umwandeln

  Alt 10. Aug 2005, 16:51
Zitat von Selecta:
Aber hast du deine Funktion getestet?
Ich bekomme eine Fehlermeldung in der nichts drin steht. o_O
Ich bastel gerade noch etwas daran rum....
Delphi-Quellcode:
function HexStringToFloat(const s:string):Extended;
var
   i : Integer;
   scale : Extended;
begin
   Result := 0;
   for i := 1 to Length(s) do
   begin
      if s[i] = '.then
         Continue;
      Result := Result * 16.0 + StrToInt('$'+s[i]);
   end;

   scale := 1.0;
   for i := Length(s) downto 1 do
   begin
      if s[i] = '.then
      begin
         Result := Result * scale;
      end;
      scale := scale / 16.0;
   end;
end;
Mein Test:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   x : double;
begin
   x := HexStringToFloat(Edit1.Text);
   Edit2.Text := FloatToStr(x);
end;
HexStringToFloat('64.7FFFF') ergibt 100,499999046326; das ist doch richtig, oder ?
Andreas
  Mit Zitat antworten Zitat