double änderung von punkt zu komma

 
Hallo,

eine kurze Anfängerfrage. Wie kann ich am einfachsten aus einer Zahl die mit Punkt als Dezimaltrenner formatiert ist eine Komma-getrennte Zahl machen?

Momentan sehe ich nur den Weg 
1) DoubleToString()
2) StringReplace()

Das scheint mir aber sehr umständlich, gibt es da vielleicht eine elegantere Mögichkeit?

Danke euch!
 
ReLor2:
Hallo,

eine kurze Anfängerfrage. Wie kann ich am einfachsten aus einer Zahl die mit Punkt als Dezimaltrenner formatiert ist eine Komma-getrennte Zahl machen?

Momentan sehe ich nur den Weg 
1) DoubleToString()
2) StringReplace()

Das scheint mir aber sehr umständlich, gibt es da vielleicht eine elegantere Mögichkeit?

Danke euch!

Wenn es keinen Punkt mehr gibt, ist es für MQL5 auch keine Zahl mehr. Der Datentyp ist genau festgelegt.

Alles andere sind dann Strings.

Der Weg ist schon richtig.

https://www.mql5.com/de/docs/basis/types/double

Dokumentation zu MQL5: Grundlagen der Sprache / Datentypen / Realtypen (double, float)
Dokumentation zu MQL5: Grundlagen der Sprache / Datentypen / Realtypen (double, float)
  • www.mql5.com
Realtypen (double, float) - Datentypen - Grundlagen der Sprache - Nachschlagewerk MQL5 - Nachschlagewerk über die Sprache des algothitmischen/automatischen Handels für MetaTrader 5
 
OK, danke, dann ist das so, dachte es gäb noch irgendwo ein etwas einfacheren/schnelleren Weg. Danke Dir!
 
Wennst in ein csv exportieren willst dann kannst du stringreplace benutzen
 
Hi,

ich wollte das nun so lösen
//number enthält eine zahl im format double
string x=".";
string y=",";
string string_number=DoubleToString(number,2);
Print(" x:"+x+" y:"+y+" number:"+number+" string_number:"+string_number);
Print("new:"+StringReplace(string_number,x,y));

//Als ausgabe erhalte ich
x:. y:, number:-5.499999999998284 string_number:-5.50
new:1

Warum erhalt ich nicht new: 5,50 - also warum ersetzt er mir den Punkt nicht durch das Komma? Was mache ich falsch?
 
ReLor2 #:
Hi,

ich wollte das nun so lösen

Warum erhalt ich nicht new: 5,50 - also warum ersetzt er mir den Punkt nicht durch das Komma? Was mache ich falsch?

Setz den Cursor auf StringReplace und lies nach, wie die Funktion arbeitet! Sie gibt nicht den neuen Text zurück, sondern die Anzahl der ersetzten Zeichen - für eine Fehlererkennung!

 
Ohje, sorry, ja klar die Änderung wird direkt in der Variablen vollzogen und als Rückgabe erhalte ich die Anzahl wie oft die Zeichen ersetzt wurden....