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
Es gab einmal Funktionen zum Abrunden von unten und oben
Könnte jemandem helfen
Es gab einmal Funktionen zum Abrunden von unten und oben
Könnte jemandem helfen
versuchen, ein Ergebnis von0,99999999999999999 zu erhalten
X = 0.99999999999999999
10*X = 10*0.99999999999999999
10*X-X = 10*0,9999999999999-0,99999999999
9*X = 9*0.99999999999999999
erhalten wir 9*X = 9 oder X ist gleich 1 (eins)
v1 = (1/3) = 0,33333333 | v2 = 3*(1/3) = 1,00000000
oder 0,9999999999999 = 1,0
v1 (1.00000000) >= 1.0
Danke an alle für den hilfreichen Thread!
Ich habe mich für die Lösung entschieden, 1 Stelle mehr überNormalizeDouble zu runden und dann die letzte Stelle abzuschneiden. Bis jetzt ist das völlig in Ordnung.
Nochmals zur Rundung......
Bitte informieren Sie mich über die Situation (werfen Sie nicht mit Tomaten, ich bin ein Menschenfreund),
es eine solche Variable gibt:
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
Das Delta ist ursprünglich normalisiert,
OrderLots sollte wahrscheinlich normalisierte Dubs zurückgeben,
aber manchmal, bei seltenen Gelegenheiten, erhalte ich Zahlen wie 2.775557561562891e-17
Es ist also fast Null, aber nicht Null.......
Erste Frage: Ist das normal?
zweite Frage - wie ich es verstehe, wird es genug für mich zu tun, die zweite Normalisierung, um Schwänze zu vermeiden?
Dritte Frage (ich habe das Gefühl, dass ich sie sowieso nicht verstehen werde, aber ich stelle sie trotzdem):
Kann die Addition von zwei normierten Zahlen nicht-normierte Zahlen ergeben?
P.S. Ich entschuldige mich dafür, dass ich das Thema noch einmal aufgreife, aber ich habe einfach nicht die Kraft, alles noch einmal zu lesen.
Nochmals zur Rundung......
Bitte informieren Sie mich über die Situation (werfen Sie nicht mit Tomaten, ich bin ein Menschenfreund),
es eine solche Variable gibt:
double delta=NormalizeDouble(new_lot-sum_lots,Lots_Digits);
if(delta>0) delta-=OrderLots();
if(delta<0) delta+=OrderLots();
Das Delta ist ursprünglich normalisiert,
OrderLots sollte wahrscheinlich normalisierte Dubs zurückgeben,
aber manchmal, bei seltenen Gelegenheiten, erhalte ich Zahlen wie 2.775557561562891e-17
Es ist also fast Null, aber nicht Null.......
Erste Frage: Ist das normal?
zweite Frage - wie ich es verstehe, wird es genug für mich zu tun, die zweite Normalisierung, um Schwänze zu vermeiden?
Dritte Frage (ich habe das Gefühl, dass ich sie sowieso nicht verstehen werde, aber ich stelle sie trotzdem):
Kann die Addition von zwei normierten Zahlen nicht-normierte Zahlen ergeben?
P.S. Verzeihen Sie mir, dass ich das Thema noch einmal aufgreife, aber ich habe einfach nicht die Energie, alles noch einmal zu lesen.
P.S. Ich entschuldige mich dafür, dass ich das Thema noch einmal aufgreife, aber ich habe einfach nicht die Energie, das alles noch einmal durchzugehen.
Es ist besser, es selbst mit verschiedenen Beispielen zu überprüfen, damit Sie es besser verstehen.
Das Problem ist nur, dass ich es falsch mache:
sondern so.
Für doppelte Zahlen. Ich weiß nicht, ob es wirklich wichtig ist, aber mit meiner Variante bin ich nie auf einen Fehler gestoßen (ich versuche, nur die gleichen Arten von Variablen zu vergleichen).
Ich weiß nicht, ob es wirklich eine Rolle spielt, aber ich bin mit meiner Version noch nie auf einen Fehler gestoßen (ich versuche nur, dieselben Arten von Variablen zu vergleichen).