Hallo! Wie kann ich MQL effizient lernen? Ich suche nicht nach einfachen Wegen, ich will es einfach nur verstehen! Ich studiere Kovalevs Tutorial, schaue mir Videos an und versuche, die Codes zu wiederholen, die darin vorgeschrieben sind. Aber es gibt so viele Fehler, selbst wenn ich den Code aus dem Tutorial wiederhole..... . Mir wurde gesagt, dass diese Website mir helfen kann, also bin ich hier! Was sollte ich tun?
Alexey Kozitsyn: Die Zeichenkette wird durch das Trennzeichen "." getrennt.
Keine schlechte Idee...
Alexey Viktorov: Sie brauchen nichts zu demontieren. Ändern Sie es in String, um die richtige Zahl zu sehen. Für Berechnungen brauchen Sie nichts zu tun.
Wenn Sie Schwierigkeiten machen wollen, konvertieren Sie die Zeichenkette zurück in eine StringToDouble()-Zahl und multiplizieren Sie mit _Point, normalisiert auf die richtige Zahl, wahrscheinlich _Digits
Der Punkt ist, dass ich die Zeichenkette in 3 Zahlen zerlegen muss, und ich kann sie nicht in eine Zahl umwandeln - es stellt sich heraus, dass es eine sehr große Zahl für die Sprache ist.
Hier ist ein Beispiel für eine solche Nummer
long CalcY=StringToDouble("111111111111111111"); Print ("CalcY=",CalcY);
Das Problem ist, dass man die Zeichenkette in 3 Zahlen zerlegen muss, sie aber nicht in eine Zahl umwandeln kann - sie erweist sich als eine sehr große Zahl für die Sprache.
Hier ist ein Beispiel für eine solche Nummer
long CalcY=StringToDouble("111111111111111111"); Print ("CalcY=",CalcY);
Die Zeichenkette wird durch das Trennzeichen "." getrennt.
Keine schlechte Idee...
Sie brauchen nichts zu demontieren. Ändern Sie es in String, um die richtige Zahl zu sehen. Für Berechnungen brauchen Sie nichts zu tun.
Wenn Sie Schwierigkeiten machen wollen, konvertieren Sie die Zeichenkette zurück in eine StringToDouble()-Zahl und multiplizieren Sie mit _Point, normalisiert auf die richtige Zahl, wahrscheinlich _Digits
Der Punkt ist, dass ich die Zeichenkette in 3 Zahlen zerlegen muss, und ich kann sie nicht in eine Zahl umwandeln - es stellt sich heraus, dass es eine sehr große Zahl für die Sprache ist.
Hier ist ein Beispiel für eine solche Nummer
Print ("CalcY=",CalcY);
Druckt die Zahl 11111111111111111104
Vielleicht bin ich in Eile!
Das Problem ist, dass man die Zeichenkette in 3 Zahlen zerlegen muss, sie aber nicht in eine Zahl umwandeln kann - sie erweist sich als eine sehr große Zahl für die Sprache.
Hier ist ein Beispiel für eine solche Nummer
Print ("CalcY=",CalcY);
Druckt die Zahl 11111111111111111104
Erzählungen...
Versuchen Sie es selbst.
Print ("CalcY=",CalcY);
long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);
double Test=CalcZ;
Print ("Test=",Test);
Versuchen Sie es selbst.
Print ("CalcY=",CalcY);
long CalcZ=StringToInteger("111111111111111111");
Print ("CalcZ=",CalcZ);
double Test=CalcZ;
Print ("Test=",Test);
Ich meine "eine zu große Zahl", aber der Code ist auch falsch, wenn Sie also von Format zu Format konvertieren wollen, sollten Sie es so machen:
Print ("CalcY=",IntegerToString(CalcY));
Was Sie dort beklagen, ist keine große Zahl, sondern ein Fehler in der Textausgabe.
Ich meine "eine zu große Zahl".
Eine zu große Zahl, um sie genau zu berechnen - wie erklären Sie sonst den Fehler am Ende der Zahl?
oben hinzugefügt.
Ich habe also dieses Problem - man kann eine lange Zeile einfügen, aber ich brauche die doppelte für die Kommaberechnung.