Преобразовать double в int ? - страница 2

 
xenon13:
banderass:
покажите код, где вам нужно провести преобразование. Я не понимаю в чем проблема.

bool f = OrderClose(GlobalVariableGet(Name), 1, Ask, 3);
Здесь будет произведено неявное преобразование. Результат от GlobalVariableGet будет автоматически приведен к типу int.
 
banderass:
xenon13:
banderass:
покажите код, где вам нужно провести преобразование. Я не понимаю в чем проблема.

bool f = OrderClose(GlobalVariableGet(Name), 1, Ask, 3);
Здесь будет произведено неявное преобразование. Результат от GlobalVariableGet будет автоматически приведен к типу int.


Ага, я тоже так думал, пока не налетел на то, что система мне выдала, что переменная ордера должна быть integer.
 
DoubleToStr затем StrToInteger
 
тогда нужно воспользоваться явным пребразованием:

bool f = OrderClose((int)(GlobalVariableGet(Name)), 1, Ask, 3);
 

А если фунцию написать

int Int(double val){
  int rv;
  rv=val;
  return(rv)
}
 
Integer:

А если фунцию написать

int Int(double val){
  int rv;
  rv=val;
  return(rv)
}


Это пишется вот так:

int DoubleToInt(double var){return(var);}

banderass:
тогда нужно воспользоваться явным пребразованием:

bool f = OrderClose((int)(GlobalVariableGet(Name)), 1, Ask, 3);


Это первое что я сделал, но компилятор mql4 такой конструкции не понимает.

 
xenon13:
Это пишется вот так: int DoubleToInt(double var){return(var);}
YESSS!!!!
 
xenon13, я понимаю твое чувство красоты. Я и сам в некотором роде максималист, и с годами это не лечится. Гробится куча времени на изячные решения, зато - какой ты при этом получаешь оргазм (общепринятый физический тут и рядом не стоял)... Похоже, что решение проблемы тебе придется искать самостоятельно. Чем тебя не устраивает конструкция
int DoubleToInt(double var){return(var);}
?
2 Integer: ну ты даешь однако... Наплодил кучу лишних переменных, присваиваний, да еще и код длиной в пять строк вместо одной. Ты бы еще и откомментировал свою функцию парой десятков строчек (ох, ну зачем нужны эти некрасивые комментарии? комментарии - для тормозов!)... Ты теперь понимаешь, что никаким эстетическим требованиям она не удовлетворяет?
 
Mathemat:
2 Integer: ну ты даешь однако... Наплодил кучу лишних переменных, присваиваний, да еще и код длиной в пять строк вместо одной. Ты бы еще и откомментировал свою функцию парой десятков строчек (ох, ну зачем нужны эти некрасивые комментарии? комментарии - для тормозов!)... Ты теперь понимаешь, что никаким эстетическим требованиям она не удовлетворяет?


Зато имя функции короткое - меньше мальцы об клавиатуру бить:-)

Я когда то тоже экономил переменные, а потом задумался, какой размер массивы имеют с данными, индикторные буферы и пр. - очень большой контраст. Плюс минус 100 переменных для собственного удобства погоды не сделают.

 
Довольно часто такие "инлайновые" функции выполняются дольше, чем длинные и некрасивые. Дык к чему идем, xenon13? К красоте/изяществу или к скорости?
Причина обращения: