Скачать MetaTrader 5

double -> integer

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114268
Forex Trader 2006.12.12 16:36 
записываю в массив параметры уже открытого ордера. Посколько большинство параметров, типа цены открытия, стопы и т.д. являются double, то массив объявлен как double.
один из параметров - тип ордера, является интовым. Я хочу потом печатать строчные значения типа OP_BUY,OP_SELL,OP_BUYLIMIT и т.д., а не числа от 0 до 5.
Как это сделать? Объявляю такой массив string _astrTypeOrder[6]={"Buy","Sell","BuyLimit","BuyStop","SellLimit","SellStop"}; и потом хочу печатать astrTypeOrder[N], где N - это результат OrderType().
Но дело в том, что первый массив, куда я складываю все параметры ордера, в том числе и OrderType(), является double и я уже не могу использовать astrTypeOrder[double], т.к. индекс массива должен быть только integer!

Короче, написал, наверное, непонятно, но вопрос вот: Как из double сделать integer? Приведения типов так ведь и нет!
MetaQuotes Software Corp.
Модератор
182436
MetaQuotes Software Corp. 2006.12.12 16:44  
А Вы пробовали на практике? Приведение типов у нас автоматическое и все должно работать.
Forex Trader
114268
Forex Trader 2006.12.12 16:44  
int orderType=array[k];
Forex Trader
114268
Forex Trader 2006.12.12 16:52  
void proba() {
double dblTemp=2.0;
string _astrTypeOrder[6]={"Buy","Sell","BuyLimit","BuyStop","SellLimit","SellStop"};

Print(_astrTypeOrder[dblTemp]);
}



вот пример того, что мне надо

и, естесвенно, компилер ругается
'[' - array index is to be an integer

Forex Trader
114268
Forex Trader 2006.12.12 17:41  
А что мешает сделать так:

void proba() {

double dblTemp=2.0;
int Index;

string _astrTypeOrder[6]={"Buy","Sell","BuyLimit","BuyStop","SellLimit","SellStop"};

Index = dblTemp;

Print(_astrTypeOrder[Index]);

}
Forex Trader
114268
Forex Trader 2006.12.12 17:55  
А что мешает сделать так:


наверное, ничего не мешает, кроме отсутствия некоторого количества тяма в голове. :)
как говорят умные люди, если у тебя нет масла в голове, то его и в холодильнике не будет :)

спасибо, dtv!
Самое интересное, что я сразу вспомнил, как пару месяцев назад подобную задачу решил за пару минут.
Для самоуспокоения буду считать, что просто устал сегодня на работе! :)
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий