AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Real zahl und "mod"

Ein Thema von Mick · begonnen am 6. Apr 2003 · letzter Beitrag vom 6. Apr 2003
 
Mick

Registriert seit: 31. Dez 2002
47 Beiträge
 
Delphi 6 Personal
 
#1

Real zahl und "mod"

  Alt 6. Apr 2003, 16:23
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]
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz