0,02*4,9=0,098 -- nicht 0,98
Ausgabe im Format mit 2 Dezimalstellen -- 0,098 wird gemäß den Rundungsregeln auf 0,10 gerundet ausgegeben
bei Ausgabe im 3-stelligen Format -- es wird die ganze Zahl ausgegeben.
0,02*4,9=0,098 -- nicht 0,98
Ausgabe im Format mit 2 Dezimalstellen -- 0,098 wird gemäß den Rundungsregeln auf 0,10 gerundet ausgegeben
Wenn die Ausgabe im dreistelligen Format erfolgt, wird die ganze Zahl gedruckt.
Danke, ich habe die Zahlen korrigiert.
Das ist das Problem, man muss 2 Stellen nach dem Komma nehmen. :) Warum ist sie abgerundet? Wie kann man eine gebrochene Zahl ohne Rundung und mit nur 2 Nachkommastellen (0,09) nehmen?
Danke, ich habe die Zahlen korrigiert.
Das ist das Problem, man muss zwei Dezimalstellen nehmen. :) Warum ist sie abgerundet? Wie kann man eine gebrochene Zahl ohne Rundung und mit nur 2 Nachkommastellen (0,09) nehmen?
int a=int(0.098/0.01); double b=a*0.01; Comment(DoubleToString(b,2));
in eine Zeichenkette übersetzen und die gewünschte Anzahl von Zeichen übernehmen
Kennen Sie einen einfacheren Weg
Und wenn Sie das tun:
int a=int((0.09*5)/0.01); double b=a*0.01; Comment (DoubleToString (b,2));
Das Ergebnis ist 0,44 statt der erforderlichen 0,45.
Und wenn Sie das tun:
Das Ergebnis ist 0,44 statt der erforderlichen 0,45.
int a=int(MathFloor((0.98)/0.001)); double b=a*0.001; Comment(DoubleToString(b,2));
0,098, nicht 0,98. :)
int a = int (MathFloor ((0.098) / 0.001)); double b = a * 0.001; Comment (DoubleToString (b, 2));
Gibt 1 zurück, und gewünschter exakter Wert = 0,09.
Kennen Sie einen einfacheren Weg?
Das ist das erste, was mir einfällt, aber es gibt natürlich auch einfachere.
Es ist auch nicht kompliziert, aber vielleicht ist es langsamer:
int DIGITS=2; string stroka=DoubleToString(0.09845,8); int P=StringFind(stroka,"."); Print(stroka); stroka=StringSubstr(stroka,0,P+DIGITS+1); Print(StringToDouble(stroka)); возвращает: 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09845000

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Grüße. Ich brauche Hilfe bei einem Problem:
Alle Funktionen geben 0,1 zurück. Obwohl (0,02*4,9) = 0,098 ist und 0,09 ergeben sollte.
Bitte sagen Sie mir, wie ich den genauen Wert ermitteln kann, den mein Taschenrechner liefert? :)