@xZise: Dein erster Code geht doch genau in die richtige Richtung, nur das äußere Round ist natürlich Quatsch.
Delphi-Quellcode:
function RoundTo2(AValue: Integer; ADingens2: Extended): Extended;
begin
Result := ADingens2 * Round(AValue / ADingens2);
end;
begin
Writeln(RoundTo2(142, 7.5)); // Ergibt 142,5
Readln;
end.
@shmia: Etwas verständlicher ausgedrückt: Gesucht werde das Vielfache von y mit dem kleinsten Abstand zu x.