hi,
ich will wissen wie oft verschiedene zahlen in eine real zahl passt.
ich habe das mit ... versucht zu lösen aber ich musste feststellen das ich bei zahlen wie zb.:11.12 oder 23.65 den rest 0.01 (9.9999999953E-03)
bekomme,er aber nicht " mit gerechnet" wird.
es soll mämlich rest null sein...
Delphi-Quellcode:
writeln('geben Sie einen Betrag im folgendem format ein,');
writeln('der gewechselt werden soll (Bsp. 23.65):');
write('Ihr Betrag: '); {eingabe der real zahl}
readln(eing);
writeln('Sie erhalten von mir ...:');
writeln;
begin {feststellen wie oft die 2 in die eingabe passt!}
if eing>=2 then
begin
h:=trunc(eing / 2);
eing:=eing-(h * 2); {die zeile führt "MOD" aus}
writeln(h,' mal 2',e);
end;
if eing>=1 then
begin
h:=trunc(eing / 1);
eing:=eing-(h * 1);
writeln(h,' mal 1',e);
end;
if eing>=0.50 then
begin
h:=trunc(eing / 0.50);
eing:=eing-(h * 0.50);
writeln(h,' mal 0.50',c);
end;
if eing>=0.20 then
begin
h:=trunc(eing / 0.20);
eing:=eing-(h * 0.20);
writeln(h,' mal 0.20',c);
end;
if eing>=0.10 then
begin
h:=trunc(eing / 0.10);
eing:=eing-(h * 0.10);
writeln(h,' mal 0.10',c);
end;
{ ab hier gibt es Probleme, mit der rundung!!!}
if eing>=0.05 then
begin
h:=trunc(eing / 0.05);
eing:=eing-(h * 0.05);
writeln(h,' mal 0.05',c);
end;
if eing>=0.02 then
begin
h:=trunc(eing / 0.02);
eing:=eing-(h * 0.02);
writeln(h,' mal 0.02',c);
end;
if eing>=0.01 then
begin
h:=trunc(eing / 0.01);
eing:=eing-(h * 0.01);
writeln(h,' mal 0.01',c);
end;
writeln((eing),' das ist das letzte was in der var "eing" steht...???');
writeln((eing):6:2);
{das ist was als letztes in "eing" drinsteht! aber warum wird es nicht mit gerechnet!??}
end
ich komm leider nicht drauf wie ich das lösen kann.
Mick
[edit=Daniel B]Delphi-Tags gesetzt. MfG Daniel B.[/edit]