MetaTrader 5 herunterladen

String conversion

Einloggen oder registrieren, um einen Kommentar zu schreiben
algotrader01
123
algotrader01  

Hello!

is the following somehow possible?

double num = 123.12;
   
string Arr[]={"num"};
   
StringToDouble(Arr[0]);

This results in 0.0 and not in 123.12


What obviously works but is not what I Need is:

string test[]={"123.12"};
   
StringToDouble(test[0]);

This results in 123.12


Why I Need this is because it is not possible to initialize an Array with = { ..... } using variables such as A.Value where A is a class

So what I finally want to achieve is something like:

string test[]={"A.Value"};
   
StringToDouble(test[0]);
Carl Schreiber
Moderator
8480
Carl Schreiber  
  1. Du kannst hier deutsch sprechen!
  2. Bei der Definition des Arrays kannst/darfst Du  keine Variablen verwenden!
  3. Das sollte gehen (ungetestet!)
#define num 123.12;
double Arr[]={num};
StringToDouble(DoubleToString(Arr[0]));

// oder
double num = 123.12;
double Arr[1];
Arr[0] = num;
StringToDouble(DoubleToString(Arr[0]));

// oder
double num = 123.12;
double Arr[];
ArrayResize(Arr,1);
Arr[0] = num;
StringToDouble(DoubleToString(Arr[0]));
algotrader01
123
algotrader01  
Carl Schreiber:
  1. Du kannst hier deutsch sprechen!
  2. Bei der Definition des Arrays kannst/darfst Du  keine Variablen verwenden!
  3. Das sollte gehen (ungetestet!)

Hallo Carl,

vielen Dank für die Ausführung. Variante 1 wäre perfekt aber das funktioniert leider auch nur mit Konstanten.

Wenn ich folgendes mache:

ClassTest A;

#define num A.Wert 

meckert er, und sagt er braucht eine konstante und keine variable.

Carl Schreiber
Moderator
8480
Carl Schreiber  

Naja, so ist das halt: Du kannst nur machen was der Compiler Dir erlaubt.

Alles andere ist verlorene Zeit!

algotrader01
123
algotrader01  

Ja, ich belasse es jetzt auch dabei. Hab noch einiges versucht aber aktuell finde ich dazu keine Lösung.

Trotzdem vielen Dank für deine Unterstützung!

Liebe Grüße

Einloggen oder registrieren, um einen Kommentar zu schreiben