результат такого кода
будет единица.
почему бы разработчикам не сделать так, чтобы mql4 воспринимал все числа, которые просто записаны как числа, а не инициилизорованы вверху в виде переменных, воспринимал как дабловые числа?
это поможет избежать много ошибок, особенно у начинающих.
Есть хорошее описание с примерами, особенно для начинающих

- www.mql5.com
результат такого кода
будет единица.
почему бы разработчикам не сделать так, чтобы mql4 воспринимал все числа, которые просто записаны как числа, а не инициилизорованы вверху в виде переменных, воспринимал как дабловые числа?
это поможет избежать много ошибок, особенно у начинающих.
Избежать многих ошибок поможет приобретённый со временем опыт.
double x; x=3/2.0; Alert(x);
или
double x; x=3.0/2; Alert(x);
дадут совершенно другой результат.
А третий вариант можете сами сделать...
Или сделать так:
если делишь какое-то интовое число на интовое, то результат преобразовывать в дабл.
вряд ли кому то когда-нибудь понадобится та фишка, чтобы делить число на число и в результате показывать только то , что получилось до запятой, а после запятой отбрасывать.
никто этим не пользуется. это скорее недостаток, чем полезная вещь.
Ведь ошибки возникают именно при делении.
Если умножить инт на инт, или отнять, или сложить - проблем нету.
Или сделать так:
если делишь какое-то интовое число на интовое, то результат преобразовывать в дабл.
вряд ли кому то когда-нибудь понадобится та фишка, чтобы делить число на число и в результате показывать только то , что получилось до запятой, а после запятой отбрасывать.
никто этим не пользуется. это скорее недостаток, чем полезная вещь.
Ведь ошибки возникают именно при делении.
Если умножить инт на инт, или отнять, или сложить - проблем нету.
А вам не кажется, что проще и полезней понять и запомнить такую мелочь, чем бодаться с разработчиками? Тем-более, что это равносильно борьбе с ветряными мельницами...
Если умножить int на int то получим тоже int
Если вычесть int из int то так-же получим int.
Если-же вычесть double из int или прибавить double к int то тут как раз и будет совпадение с моими примерами. В операции присутствует число с плавающей точкой.
Что бы избежать таких ситуаций надо применять явное приведение типов иначе применяется неявное приведение типов по правилам языка mql. В примере ТС происходит неявное приведение типов. Хотя более логичнее было результат деления привести к типу double но компилятор языка считает что если Int делить на int то и результат будет int.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
будет единица.
почему бы разработчикам не сделать так, чтобы mql4 воспринимал все числа, которые просто записаны как числа, а не инициилизорованы вверху в виде переменных, воспринимал как дабловые числа?
это поможет избежать много ошибок, особенно у начинающих.