Entweder
Round(AZoomFactor * 100)
oder
mehrere if´s in dieser Form:
Delphi-Quellcode:
function TfrmEditor.GetZoomFactorAsPercent(
AZoomFactor: Single = 1): TibZoomFactorPercent;
begin
Result := TibZoomFactorPercent.Custom;
if (AZoomFactor = 0.10) then Exit(TibZoomFactorPercent.Percent10);
if (AZoomFactor = 0.25) then Exit(TibZoomFactorPercent.Percent25);
...
end;
Im Grunde ist die zweite Variante noch übersichtlicher.
Sie ist etwas aufwendiger zu tippen, aber das ist ja ein einmaliger Aufwand. Man ist auch etwas freier in der Ausgestaltung.
Zu beachten ist, dass Floatwerte immer Ungenauigkeiten beinhalten können.
Deshalb sollte man ggf. eine Funktion wie SameValue zum Vergleich verwenden.