Autor Beitrag
MagicRain
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

WinXp, Win8, iOS
Delphi 7, Lazarus Pascal, Delphi 10.2 Starter, NetBeans Java
BeitragVerfasst: So 04.11.12 21:32 
Hallo, und zwar probiere ich schon die ganze zeit herum und habe schon unzählige Threads durch gelesen aber nichts zu meinem Problem gefunden. Ich Möchte Feststellen ob ein div : Double Nachkommastellen hat und wenn dann auf Ganzzahl inc'en.

z.B so....

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
x , y : double;
x:= x div $3;
y := x;
zb y := 178.35 

jetzt mein Problem....
if y 0.xx then +1 else = nothing

z.B
y := 111.00000000 then nothing...nicht ( +1 ) else ( +1 )


aber bei ganzen wert also aus z.B 178.35 wird wegen Kommastellen 179.
Also wenn Kommastellen da sind dann die Ganzzahl runden und die Kommastellen abschneiden. Hat vielleicht einer von euch eine Idee wie man das ganze machen könnte? Hab gar keine Ahnung auch noch nicht so viel mit fpu also float zahlen gemacht.


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am So 04.11.2012 um 21:08
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: So 04.11.12 21:41 
Hi!

Also jetzt mal davon abgesehen, dass das syntaktisch (sorry) völliger Quatsch ist (bist du zufällig NC-Programmierer? Da seh ich sowas grade oft ;) ) klingt das was du da schreibst sehr nach Suche in der Delphi-Reference CEIL(), oder?

Grüße,
Martok

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
MagicRain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

WinXp, Win8, iOS
Delphi 7, Lazarus Pascal, Delphi 10.2 Starter, NetBeans Java
BeitragVerfasst: So 04.11.12 21:55 
Nunja muss das ganze aber in Delphi umsetzen. Also muss das ja irgendwie gehen?! hmmm
mandras
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 432
Erhaltene Danke: 107

Win 10
Delphi 6 Prof, Delphi 10.4 Prof
BeitragVerfasst: So 04.11.12 23:55 
user profile iconMagicRain hat folgendes geschrieben Zum zitierten Posting springen:
Nunja muss das ganze aber in Delphi umsetzen. Also muss das ja irgendwie gehen?! hmmm


Natürlich geht es irgendwie. Wenn Du nun bitte das Problem entwas genauer beschreiben könntest?

Delphi:
div ist Integer-Division. Ergebnis ganze Zahl immer nach unten gerundet. mod: Rest einer Integer-Division.
trunc (x:real oder double oder extended): Nachkommastellen abschneiden - trunc (132.93)= 132
ceil (x:real oder double oder extended): ggf. auf nächstgrößere ganze Zahl aufrunden. Auszug aus Doku:
ausblenden Delphi-Quelltext
1:
2:
3:
Ceil(-2.8) = -2
Ceil(2.8) = 3
Ceil(-1.0) = -1
Tranx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 648
Erhaltene Danke: 85

WIN 2000, WIN XP
D5 Prof
BeitragVerfasst: Mo 05.11.12 08:07 
Die Funktion CEIL hat leider eine Einschränkung: Der Parameter darf Maxint nicht überschreiten. Wie wäre es mit folgendem "Konstrukt":

ausblenden Delphi-Quelltext
1:
  intVar := int(realVar + 0.999999);					


Dann gilt für Bruchteil = 0.0 : IntVar gleich RealVar, ansonsten gilt IntVar = Ganzteil(RealVar)+1

_________________
Toleranz ist eine Grundvoraussetzung für das Leben.
MagicRain Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 154

WinXp, Win8, iOS
Delphi 7, Lazarus Pascal, Delphi 10.2 Starter, NetBeans Java
BeitragVerfasst: Mo 05.11.12 21:51 
Dankeschön! Erledigt.

MfG