Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Berechnung mit Double (https://www.delphipraxis.net/70892-berechnung-mit-double.html)

ByStones2 6. Jun 2006 14:13


Berechnung mit Double
 
Hi,

ich hab schon wieder ein Problem :oops: , und zwar:
Delphi-Quellcode:
procedure TForm1.Button14Click(Sender: TObject);
begin
Geld := Geld + mais * 0.8;
mais := 0;
Panel12.Caption :=  floattostr(mais) + ' kg';
Panel7.Caption := inttostr(Geld) + ' €';
end;
Ich weiß nicht wie ich mais * 0,8 rechnen soll, ohne dass es einen Error gibt ???
mais ist vom Typ Double.
Ich hoffe ihr könnt mir helfen :?
ByStones

HuxXx 6. Jun 2006 14:15

Re: Berechnung mit Double
 
Dein Fehler ist:

So wie es im Quellcode steht, ist die Variable "Geld" vom Typ Integer.
Es muss ebenfalls vom Typ Double sein, um ein Wert vom Typ Double zu addieren.

ByStones2 6. Jun 2006 14:19

Re: Berechnung mit Double
 
Hey danke das geht, nur ergibt sich bei der Rechnung
150 * 0,8 bei mit nun 150 und das kann doch nicht sein, dass müsste 120 geben ???
habt ihr vielleicht auch dafür eine Lösung ???

Delphi-Quellcode:
if get = 2 then
  begin
    if mais < 40000 then
      begin
        mais := mais + Felder * 150;
        Panel12.Caption := floattostr(mais) + 'kg';
      end;
  end;
der rest des quellcodes für diese funktion ist ja schon oben

Klaus01 6. Jun 2006 14:29

Re: Berechnung mit Double
 
was für ein Typ ist denn Deine Variable Felder und wo und wie
wird ihr ein Wert übergeben?

Grüße
Klaus

ByStones2 6. Jun 2006 14:32

Re: Berechnung mit Double
 
Zitat:

Zitat von Klaus01
was für ein Typ ist denn Deine Variable Felder und wo und wie
wird ihr ein Wert übergeben?

Grüße
Klaus

felder: integer
mais: dauble
geld: double

ich glaub sie werden mit floattostr, inttostr übergeben, wenn du das meinst :cat:

Klaus01 6. Jun 2006 14:37

Re: Berechnung mit Double
 
dann mal ein dumme Frage wie willst Du denn
0,8 * 150 rechnen, wenn Felder vom Typ Integer ist?

Wenn da bei Dir kein Fehler kommt, dann wird Felder irgendwo aufgerundet und
das wäre dann 1 und 1 * 150 ist gleich 150.

Grüße
Klaus

ByStones2 6. Jun 2006 14:41

Re: Berechnung mit Double
 
Zitat:

Zitat von Klaus01
dann mal ein dumme Frage wie willst Du denn
0,8 * 150 rechnen, wenn Felder vom Typ Integer ist?

Wenn da bei Dir kein Fehler kommt, dann wird Felder irgendwo aufgerundet und
das wäre dann 1 und 1 * 150 ist gleich 150.

Grüße
Klaus

das heißt dann wol felder muss auch double sein oder :gruebel: :gruebel: :gruebel: :gruebel:

Klaus01 6. Jun 2006 14:44

Re: Berechnung mit Double
 
Felder sollte einen Typ haben, mit dem man Dezimalbrüche darstellen kann.
Darunter fällt auch der Typ double, real, extended ...

Wo bekommt bei Dir Felder denn einen Wert zugewiesen?
Wird dazu ein Editfeld benutzt?

Grüße
Klaus

ByStones2 6. Jun 2006 14:50

Re: Berechnung mit Double
 
Zitat:

Zitat von Klaus01
Felder sollte einen Typ haben, mit dem man Dezimalbrüche darstellen kann.
Darunter fällt auch der Typ double, real, extended ...

Wo bekommt bei Dir Felder denn einen Wert zugewiesen?
Wird dazu ein Editfeld benutzt?

Grüße
Klaus

ich schreibe die ausgabe in ein panel ???

Klaus01 6. Jun 2006 14:54

Re: Berechnung mit Double
 
nicht wo Du Felder ausgibst
wo bekommt die Variable Felder den Wert z.B. 0,8 zugewiesen?
Irgendwo muß das doch in Deinem Programm passieren.

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.
Seite 1 von 5  1 23     Letzte »    

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