Autor Beitrag
facu!ty
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 14.12.05 19:39 
hallo,
ich habe folgendes problem:
ich möchte abfragen, ob eine variable des typen real aus der menge der ganzen zahlen ist, also rund ist, oder nicht.
am einfachsten erschien mir zu gucken, ob die zahl nachkommastellen hat. nur wie kann ich diese abfragen?
oder habt ihr eine andere idee wie ich es prüfen könnte?
danke im vorraus
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 14.12.05 19:42 
Die Nachkommastellen einer Zahl kannst Du mittels Frac(deineZahl) abfragen. Wenn das Ergebnis Null ist, hast Du im Rahmen der Genaugkeit des Datentyps eine ganze Zahl.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Grishnak
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 221

Windows XP Home
Delphi 7 PE, Delphi 2005 PE
BeitragVerfasst: Mi 14.12.05 19:46 
ausblenden Delphi-Quelltext
1:
if frac(x) = 0.0;					


Oder vielleicht besser:

ausblenden Delphi-Quelltext
1:
if abs(frac(x)) < 0.00001					


Da man ja reals nicht auf 0 prüfen soll!

_________________
Mach' etwas idiotensicher und irgendjemand erfindet einen besseren Idioten!
facu!ty Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mi 14.12.05 20:59 
danke, habs aber schon anders hingekriegt.
mit dem "mod" operator, der den rest einer division angibt.
dann kann man die zahlen sogar als integer beibehalten.

if a mod b = 0 ...