Müsste eigentlich so stimmen:
Delphi-Quellcode:
function Formatieren(KB: Extended): String;
const Genauigkeit = 1000;
var
Dimension : String;
begin
if KB >= 0 then Dimension := 'KiloByte';
if KB > 1023 then Dimension := 'MegaByte';
if KB > 1048575 then Dimension := 'GigaByte';
if KB > 1073741823 then Dimension := 'TeraByte';
if KB > 1099511627775 then Dimension := 'PetaByte';
if KB > 1125899906842619 then Dimension := 'ExaByte';
if Dimension = 'KiloByte' then result := Floattostr(KB)+ ' ' + Dimension;
if Dimension = 'MegaByte' then result := Floattostr(round((KB / 1024) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'GigaByte' then result := Floattostr(round((KB / 1048576) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'TeraByte' then result := Floattostr(round((KB / 1073741824) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'PetaByte' then result := Floattostr(round((KB / 1099511627776) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
if Dimension = 'ExaByte' then result := Floattostr(round((KB / 1125899906842620) * Genauigkeit)/Genauigkeit) +' ' + Dimension;
end;