danke für die hilfe. ich habe es jetzt so. meint ihr es geht noch besser?
Delphi-Quellcode:
function FormatSizeR(S: string): Int64;
var
I: Integer;
E: Extended;
begin
I := Pos(' ', S);
Assert(I > 0);
E := StrToFloat(Copy(S, 1, Pred(I)));
S := Copy(S, Succ(I));
case S[1] of
'B': I := 0;
'K': I := 1;
'M': I := 2;
'G': I := 3;
'T': I := 4;
'P': I := 5;
'E': I := 6;
'Z': I := 7;
'Y': I := 8;
end;
Result := Round(E * (1 shl (I * 10)));
end;