Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 240

 
Добрый всем. Что-то не могу никак сообразить как строку string (допустим "hello all") преобразовать в число double и наоборот из double в string ? Может у кого готовый код есть ?
 

А ларчик просто открывался:

StringToDouble()
DoubleToString()
            
 
Aleksei Stepanenko:

А ларчик просто открывался:

Проблема в том, что мне не число введенное в виде текста (например "345,45") необходимо перевести в Double, а сам любой текст не имеющий отношение к числу. При применении например 

StringToDouble("Исходный_текст") на выходе будут нули.

Обратно тоже самое. Можно конечно перебрать каждый символ строки через 

StringGetChar();

 и сложить их коды в Double, но как обратно из Double расшифровать/получить строку ?


Так что еще есть варианты ?

 
Yan Barmin:

Проблема в том, что мне не число введенное в виде текста (например "345,45") необходимо перевести в Double, а сам любой текст не имеющий отношение к числу. При применении например 

Обратно тоже самое. Еще есть варианты ?

StringToCharArray

 
Yan Barmin:

Так что еще есть варианты ?

Я не понял смысл такого преобразования, хеш сумму что ли хотите получить? С обратной расшифровкой будут проблемы. Если при преобразовании количество информации уменьшается, значит Вы её теряете безвозвратно.

Какое число Вы хотите здесь увидеть:

StringToDouble("Исходный_текст")
 
Aleksei Stepanenko:

Я не понял смысл такого преобразования, хеш сумму что ли хотите получить? С обратной расшифровкой будут проблемы. Если при преобразовании количество информации уменьшается, значит Вы её теряете безвозвратно.

Какое число Вы хотите здесь увидеть:

Наверное такое:

void OnStart()
{
   uchar scr[];
   string InputText="Исходный_текст";
   string Res="";
   StringToCharArray(InputText,scr,0,StringLen(InputText));
    for(int i=0; i<ArraySize(scr); i++)
      Res+=scr[i];
    Print(Res); // 20024124523822823725123395242229234241242

}
 

Прикольно ;)

Можно так на форуме переписываться. История, политика, все тяжкие, и никто в бан не отправит. Двоечки, троечки, единички...

 
19423224222423523223344322342242342242553224523824023824822425532232228229255322272382262382402322422523224623224424022423623233
 
Ну вот, чтобы теперь прочитать, придётся дешифратор писать.
 
Aleksei Stepanenko:
Ну вот, чтобы теперь прочитать, придётся дешифратор писать.

Ну если строка, тогда нужно доп.код, ну а массив напрямую

   uchar scr[];
   string InputText="Исходный_текст";
   string Res="";
   StringToCharArray(InputText,scr,0,StringLen(InputText));
    for(int i=0; i<ArraySize(scr); i++)
      Res+=scr[i];
  //  Print(Res);
  Print(CharArrayToString(scr));
Причина обращения: