Подскажите, почему так?
leon_17:
Подскажите, почему так?
Подскажите, почему так?
Alert(8/3.0);
Vitaly Muzichenko:
Я предполагал, что он автоматом делает неявное преобразования по типам чисел
Но почему тогда и так не учитывает дробную часть?
double test=8/3; Alert(test);
Как тогда вообще им пользоваться если нужно вывести результат вычисления, где в делении участвуют целые числа, а результат может оказаться дробным?
Потому что так тоже не работает:
double test=8/3; Alert(DoubleToString(test,2));
И вот еще:
Alert(double(8/3)); // дробная часть НЕ возвращается Alert((double)8/3); // дробная часть возвращается
Документация по MQL5: Основы языка / Типы данных / Вещественные типы (double, float)
- www.mql5.com
Вещественные типы (double, float) - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Кажется начинаю понимать. Так всё работает правильно:
double test_1=8; double test_2=3; double test_3=test_1/test_2; Alert(test_3);
leon_17: Кажется начинаю понимать. Так всё работает правильно:
Еще вот так дробная часть возвращается
Alert(double(8)/3); Alert(8.0/3); int test_1=8; double test_2=3; Alert(test_1/test_2);
Alert(8.0/3.0);
leon_17:
Подскажите, почему так?
Если операции с целыми числами, то и результат целый. Если есть хотя бы одно число дабл, то результат будет дабл.
Подскажите, почему так?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь