Wenn man den Betrag in Cent hat (also Eingabe*100) und das dann irgendwie in Integer umwandelt ginge auch:
Delphi-Quellcode:
var
R,a : Integer;
M : array[1..8]
begin
M[1]=200;M[2]=100;M[3]=50;M[4]=20;M[5]=10;M[6]=5;M[7]=2;M[8]=1;
R=CurrencyToInt(RückgeldInEuro * 100); //CurrencyToInt ??? s.o.
for i = 1 To 8 do
begin
a:=R div M[i];
R:=R-a;
if a > 0 then
begin
if M[i] >= 100 then
ListBox1.Items.Add(IntToStr(M[i]/100)+'-Euro-Stück: '+IntToSTr(a)+'x')
else
ListBox1.Items.Add(IntToStr(M[i])+'-Cent-Stück: '+IntToSTr(a)+'x');
end;
end;
end