Abend zusammen.
Und zwar folgendes Problem.
Warum ist in diesem Beispiel die Zahl plötzlich 6,5...?
Gehe ich beim Debuggen mit der Maus über den geteilten Wert, so ist dieser 1,999934...
Wenn ich nun diesen von 2 abziehe erwarte ich 0,0000... und nicht sowas.
Bis jetzt ging das ganze auch Problemlos, bis auf in diesem Beispiel.
Roundto auf 4 Stellen reicht mir nicht, aber 6 Stellen kommt dieses Phänomen.
Wie kann ich dies lösen und warum tritt dies auf?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| var x3 : Int64; vh3 : Real; begin Eisen := 9626283514; Titan := 6273796400;
x3 := max(floor((2*Titan-Eisen)/(2*250000-40000)),0); x3 := min(x3,min(floor(Eisen/40000),floor(Titan/250000))); vh3 := max(2-((Eisen-x3*40000)/(Titan-x3*250000)),0); if(vh3 = 0)then vh3 := 2; end; |
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.