Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Je nach Ihren Zielen lohnt es sich manchmal, ganz auf ganze Zahlen umzusteigen. Das spart eine Menge Nerven :-) Als ich einmal eine Aufgabe hatte, bei der ich viele, viele Ebenen genau markieren musste, hatte ich zunächst Schwierigkeiten mit dem Doppelten, und dann habe ich alles in ganzzahlige Punkte von 0 umgewandelt, und alles wurde leicht, einfach und fehlerfrei.
Sie brauchen nicht zu runden, es sei denn, die Aufgabe erfordert es.
Das ist es ja: Aufgaben sind unterschiedlich :-)
Wenn SieMathFloor oder MathCeil zum Runden verwenden, müssen Sie das ursprüngliche Ergebnis auf die richtige Genauigkeit normalisieren.
Denn bei der Berechnung kann es vorkommen, dass Sie statt einer ganzen Zahl eine Bruchzahl erhalten, und weil dieser "Schwanz" der Zahl falsch gerundet wird, ist das Ergebnis falsch.
Zum Beispiel:
Print (DoubleToStr(1156.12/point, 15));
Print (NormalizeDouble(1156.12/point, _Digits));
Versuchen wir nun, mitMathFloor abzurunden
Print (DoubleToStr(MathFloor(1156.12/point), 15));
Print (MathFloor(NormalizeDouble(1156.12/point, _Digits)));
Wenn ich die Zahl auf 1,05 normalisiere - wird sie auf 1,1 normalisiert, was im Prinzipnicht das ist, was ich mitMathFloor brauche :-)
Denn ich würdeMathFloor überhaupt nicht verwenden.
Aber das Problem ist ein anderes.
Но задача то другая.
Warum ist das anders? Sie sagten, Sie müssten abrunden - MathFloor macht genau das.
Warum ist das anders? Sie sagten, Sie müssten abrunden - das macht MathFloor.
Ja!!.. aber wenn ich eine Normalisierung vornehme, wird die Mathematik abgerundet undMathFloor ergibt keinen Sinn.
das obige Beispiel mit der Zahl 1156,12, wird diese Zahl im Speicher als 1156,11999999999999891 gespeichert
Das heißt, wenn Sie versuchen, auf ein Hundertstel abzurunden, erhalten Sie 1156,11 statt 1156,12, was die "Besonderheit" ist, die Sie zum Grübeln gebracht hat.
das obige Beispiel mit der Zahl 1156,12, wird diese Zahl im Speicher als 1156,11999999999999891 gespeichert
Das heißt, wenn Sie versuchen, auf ein Hundertstel abzurunden, erhalten Sie 1156,11 statt 1156,12 - das ist die "Besonderheit" Ihres Problems.
Ja :-) Danke.