Hallo,
den Namen FloatToHex() hat John Herbster etwas unglücklich gewählt - finde ich. Er liefert einfach eine sortierfähige Hex-Darstellung eines Float-Wertes, gesucht wird hier aber wohl ein Analogon zu FloatToStr(), wobei die Ausgabe zur Basis 16 anstelle zu Basis 10 erfolgen soll.
Delphi-Quellcode:
function FracToHex(value: Double): string;
const
HEX_DIGIT = '0123456789ABCDEF';
begin
Result := '';
repeat
value := Frac(value) * 16;
Result := Result + HEX_DIGIT[Succ(Trunc(value))];
until IsZero(value);
end;
function FloatToHex(d: Double): string;
begin
Result := Format('%x%s%s', [Trunc(d), DecimalSeparator, FracToHex(d)]);
end;
Grüße vom marabu