Rundung von Zahlen in MT4 über NormalizeDouble - Seite 5

 
Dmitry Fedoseev:

Hier ist Ihr Code:

Setzen Sie 3 anstelle von 2 ein und es ist 0,036

Es hat geklappt! Ich danke Ihnen. Ich normalisiere auf 3 und schneide dann die zusätzlichen Ziffern nach dem Dezimalpunkt ab.

Können Sie mir sagen, ob es eine Standardfunktion gibt, um H-Ziffern nach dem Komma abzuschneiden? Wie StringSubStr, nur wenn es sich um eine gebrochene Zahl handelt.

 
Roman Starinskij:

So funktioniert's! Ich danke Ihnen. Ich normalisiere auf 3 Ziffern und schneide dann die zusätzlichen Ziffern nach dem Komma ab.

Können Sie mir sagen, ob es eine Standardfunktion zum Abschneiden von H-Stellen nach dem Dezimalpunkt gibt? Wie StringSubStr, nur wenn es sich um eine Bruchzahl handelt.

Wenn Sie die Ziffern bei der Anzeige auf dem Bildschirm (Log) trimmen wollen, gibt es dafür DoubleToString().
 
Ihor Herasko:
Wenn es um das Abschneiden von Ziffern bei der Ausgabe auf dem Bildschirm (Log) geht, dann ist DoubleToString() dafür da.

Nein. DoubleToString funktioniert genau wie NormalizeDouble().

 
Roman Starinskij:

So funktioniert's! Ich danke Ihnen. Ich normalisiere auf 3 Ziffern und schneide dann die zusätzlichen Ziffern nach dem Komma ab.

Können Sie mir sagen, ob es eine Standardfunktion zum Abschneiden von H-Stellen nach dem Dezimalpunkt gibt? Wie StringSubStr, nur wenn es sich um eine Bruchzahl handelt.

Eine solche Funktion gibt es nicht, da sie nicht benötigt wird. Ihr Taschenrechner ist falsch.
 
Roman Starinskij:

Können Sie mir sagen, ob es eine Standardfunktion zum Abschneiden von H-Stellen nach dem Dezimalpunkt gibt? Wie StringSubStr, nur wenn es sich um eine gebrochene Zahl handelt.

Ich benutze eine, aber sie ist nicht standardisiert:

//+------------------------------------------------------------------+
//| Double Crop function                                             |
//+------------------------------------------------------------------+
double DoubleCrop(double value,int crop)
  {
   string ValueToString="";
   ValueToString=DoubleToString(value,crop);
   return StringToDouble(ValueToString);
  }
//+------------------------------------------------------------------+
 
lilita bogachkova:

Ich benutze eine, aber sie ist "benutzerdefiniert":

Was ist der geniale Schachzug?

string ValueToString="";
   ValueToString=DoubleToString(value,crop);
 
lilita bogachkova:

Ich benutze eine, aber die ist 'out of the box':

Gerade schrieb, DoubleToString nicht trim, es funktioniert die gleiche Weise wie NormalizeDouble - es rundet. Nein... wir sind auf einem Bulldozer.
 

Eine Störung wird entdeckt:

   Alert(
         DoubleToStr(1.15,1)+" "+
         DoubleToStr(1.25,1)+" "+
         DoubleToStr(1.35,1)+" "+
         DoubleToStr(1.45,1)
         );

Ergebnis: 1.1 1.3 1.4 1.5

Bei 1,15 gab es einen Abwurf und bei Stahlzahlen eine Rundung.

 
Dmitry Fedoseev:

Eine Störung wird entdeckt:

Ergebnis: 1.1 1.3 1.4 1.5

Bei 1,15 gab es einen Abwurf und bei Stahlzahlen eine Rundung.

Ja, ich muss zugeben, dass ich es benutzt habe, ohne das Ergebnis zu überprüfen :(((
 

Bis die Entwickler die

es

StringLen

Die Anzahl der Zeichen in der Zeichenkette, ohne die Null am Ende.

Sie können nichts gegen die Kürzung tun.