Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Nur die Zahl hinter dem Komma auswählen (https://www.delphipraxis.net/96279-nur-die-zahl-hinter-dem-komma-auswaehlen.html)

Darksniper 21. Jul 2007 18:08

Re: Nur die Zahl hinter dem Komma auswählen
 
also ich will eine division mit einem ergebniss mit komma
in dem fall muss ich ja / einsetzen

dann würde das ja dann so aussehen

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
var a,b,c : Integer;
begin
a:=StrtoInt (edit1.text);
b:=a / 60 / 60;
c:=b-Trunc(b);
Label1.caption:= FloattoStr (c);
end;
jedoch tritt dann dieser Fehler auf

b:=a / 60 / 60;
[Fehler] Unit3.pas(32): E2010 Inkompatible Typen: 'Integer' und 'Double'

Martin K 21. Jul 2007 18:13

Re: Nur die Zahl hinter dem Komma auswählen
 
Wenn man Division mit Integern (= Ganzzahlen) macht, ist dafür div gedacht, da Integer eben ganze Zahlen sind und nichts nach den Komma darstellen können.
Für "normale" Divisionen sind Gleitkommazahlen da (schau mal in der Delphi-Hilfe unter "Reelle Typen").
b müsste halt eine Gleitkommazahl sein!

DeddyH 21. Jul 2007 18:14

Re: Nur die Zahl hinter dem Komma auswählen
 
Klar:
Delphi-Quellcode:
var a,b,c : Integer;
Änder das mal ab:
Delphi-Quellcode:
var a,b,c : Double;
[EDIT]Quatsch! So wäre es ausreichend:
Delphi-Quellcode:
var a, b: integer;
    c: Double;
[/EDIT]

Darksniper 21. Jul 2007 18:16

Re: Nur die Zahl hinter dem Komma auswählen
 
und was macht Double?

DeddyH 21. Jul 2007 18:17

Re: Nur die Zahl hinter dem Komma auswählen
 
Double "macht" nichts, es ist ein Fließkommatyp.

Darksniper 21. Jul 2007 18:18

Re: Nur die Zahl hinter dem Komma auswählen
 
:?: Fließkommatyp :?:

Martin K 21. Jul 2007 18:21

Re: Nur die Zahl hinter dem Komma auswählen
 
Wie gesagt, schau mal unter reelle Typen.
Typen, die Gleitkommazahlen darstellen können, sind z.B.:
- Single
- Double
- Real
- Extended

Single ist etwas ungenau bei vielen Nachkommastellen, Double ist da schon genauer.
Extended ist vor allem für sehr große Zahlen geeignet.

Real ist der wohl gebräuchlichste Typ, ist in seiner aktuellen Implementierung identisch mit Double.
Mein Tipp: verwende Real!

Fließkommatyp = Typen für Gleitkommazahlen, also Zahlen, die auch was nach dem Komma darstellen können!

DeddyH 21. Jul 2007 18:33

Re: Nur die Zahl hinter dem Komma auswählen
 
Ich kenne die Hilfe von Delphi 2005 nicht, aber unter dem Suchbegriff "elementare Datentypen" sollte sich eine ausführliche Beschreibung finden lassen.

Martin K 21. Jul 2007 18:37

Re: Nur die Zahl hinter dem Komma auswählen
 
Delphi-Hilfe
Reelle Typen
Ein reeller Typ definiert eine Menge von Zahlen, die in Gleitkommanotation dargestellt werden können. Die folgende Tabelle enthält die Bereiche und Speicherformate der fundamentalen reellen Typen in Win32.

Fundamentale reelle Typen in Win32:
Code:
Typ     Bereich                        Signifikante Größe
                                         Stellen      in Byte
Real48   -2,9 x 10^39 .. 1,7 x 10^38     11-12          6
Single  -1,5 x 10^45 .. 3,4 x 10^38     7-8            4
Double  -5,0 x 10^324 .. 1,7 x 10^308   15-16          8
Extended -3,6 x 10^4951 .. 1,1 x 10^4932 10-20         10
Comp    -2^63+1 .. 2^63 1               10-20          8 
Currency -922337203685477.5808 ..       10-20          8
          922337203685477.5807
Der generische Typ Real entspricht in seiner aktuellen Implementierung dem Typ Double.

dominikkv 21. Jul 2007 19:28

Re: Nur die Zahl hinter dem Komma auswählen
 
du solltest dir mal die standarttypen genauer anschauen :zwinker:
In einen Integer passen nur ganze Zahlen rein: zB 5 oder 87 oder auch -44
In einen reelen Typ (zB Double, Extended etc) passen auch kommazahlen rein: zB 4,36 oder 45,98 oder -445,144

Der Operator div gibt eine ganze Zahl aus, zB 9 div 2 = 4
Der Operator / gibt eine Kommazahl aus, zB 9 / 2 = 4,5

Da Integer und 4,5 nicht zueinander passen kommt dieser Fehler.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:21 Uhr.
Seite 2 von 3     12 3      

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