Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Existieren Nachkomma-Stellen?? (https://www.delphipraxis.net/127874-existieren-nachkomma-stellen.html)

lbccaleb 20. Jan 2009 15:10


Existieren Nachkomma-Stellen??
 
HeyHo,


Kann mir einer sagen, wie ich herrausfinden kann ob eine Extended Variable Nachkomma-Stellen besitzt oder nicht??
Gibt es dafür direkt eine Funktion??

Das alles wieder nonVCL, also ohne Math und SysUtils...


Danke

HenKst 20. Jan 2009 15:17

Re: Existieren Nachkomma-Stellen??
 
frac(x) gibt dir die Nachkommastellen eines extended zurück.
Das könntest du auf 0 prüfen.

ist allerdings in System, weiss nicht ob du das brauchen kannst^^

Aber sobald du mit einer Realzahl irgendwas gerechnet hast ist es ziemlich unwahrscheinlich das sie keine Nachkommastellen hat.

DeddyH 20. Jan 2009 15:22

Re: Existieren Nachkomma-Stellen??
 
Direkt auf 0 prüfen wird vermutlich in die Hose gehen, besser mit math.SameValue machen.

[edit] Was math mit VCL zu tun haben soll, entzieht sich meiner Kenntnis :gruebel: [/edit]

quendolineDD 20. Jan 2009 15:30

Re: Existieren Nachkomma-Stellen??
 
Weil eben im erweiteren Begriffsverständnis von nonVCL auch die Minimierung der Dateigröße auf die Nichtverwendung ganzer Units(wie o.g. eben Math) abzielt.

lbccaleb 20. Jan 2009 15:30

Re: Existieren Nachkomma-Stellen??
 
Zitat:

Zitat von DeddyH

[edit] Was math mit VCL zu tun haben soll, entzieht sich meiner Kenntnis :gruebel: [/edit]

Ganz einfach, Sie verwendet wieder SysUtils...

Bei Frac(x) war ich auch schon... Nur dann kommt wieder eine Extended raus, das ist nicht gut...
Und diese dann zu runden, verfälscht das Ergebnis zu sehr ;-(
Oder kann ich da event. noch anders ne Integer draus machen??
Mit Trunc hatte ich auch probiert, liefert aber auch nicht das was ich will *grummel*

Was will ich genau??

Also, ich will eine Integer variable durch 100 teilen, dabei entsteht ja bekanntlich eine Extended Var.!
Nun will ich aber nur die Zahlen, die durch 100 teilbar sind und eine Ganzzahl ergeben weiterverarbeiten!

Hat jemand dafür eine gute lösung?
Vllt steh ich auch gerade nur auf dem Schlauch...

Klaus01 20. Jan 2009 15:32

Re: Existieren Nachkomma-Stellen??
 
Hast Du dir schon mal div und mod angeschaut?

Grüße
Klaus

DeddyH 20. Jan 2009 15:32

Re: Existieren Nachkomma-Stellen??
 
Dann nimm doch mod.

HenKst 20. Jan 2009 15:43

Re: Existieren Nachkomma-Stellen??
 
bei frac kommt 0,NachkommastellenVonX raus
Wenn das 0 ist war deine zahl glatt teilbar, wenn das nicht 0 ist vielleicht auch^^

Aber ich würd auch sagen mod ist was du willst :)

lbccaleb 20. Jan 2009 15:46

Re: Existieren Nachkomma-Stellen??
 
mod ist genau richtig, danke...

Ich sag ja, steh nur schon wieder auf dem Schlauch, menno^^

mr_emre_d 20. Jan 2009 16:23

Re: Existieren Nachkomma-Stellen??
 
if x/round(x) = 0 then
...

Edit:
if x/floor(abs(x)) = 0 then
wäre sicherer


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

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