int/int будет целое число (то есть в результате не будет дробного числа с запятой)!
Проверка:
int a=3; int b=7; Print("3/7=",3/7,"; 3*1.0/7*1.0=",3*1.0/7*1.0);
и результат:
3/7=0; 3*1.0/7*1.0=0.4285714285714285
int/int будет целое число (то есть в результате не будет дробного числа с запятой)!
Это такая фишка в mql4? Офигеть. И кто такое придумал?
В любом случае, спасибо, за ваш, труд.
Это такая фишка в mql4? Офигеть. И кто такое придумал?
В любом случае, спасибо, за ваш, труд.
Какой тип переменной которой вы присваиваете результат деления? Если тип int то при делении идет неявное преобразование типа.
По идее деление int на int должно всегда давать результат double. Это видимо, что то функция Print() чудит.
Глянул как это работает в C#. Там тоже деление int на int дает результат int, если не указать оператор явного преобразования типов.
double x; int y; int z;
x = y/z; округляет результат до ближайшего целого
x = (double) y/z; округление нет считает как и должно быть.
Какой тип переменной которой вы присваиваете результат деления? Если тип int то при делении идет неявное преобразование типа.
По идее деление int на int должно всегда давать результат double. Это видимо, что то функция Print() чудит.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет, коллеги.
Помогите, глаза уже сломал, не знаю где искать.
Бала задача: получить статистку по закрытым сделкам.
Организовал int Stat[4] и туда кладу результаты запроса выборки по истории сделок. Все ок.После,решил получить процентное выражение, например, сколько процентов содержит прибыльные сделки во всех по валютному инструменту - получаю 0.
Откуда нули при делении Stat[1]/Stat[0], если элементы массива не нулевые (3/7*100>0)?
Код:
А журнале чудеса: