![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Конечно вы правы. Но я повторюсь. Для 99.9% задач абсолютно правомерна замена округляющих функций альтернативным более быстрым вариантом с применением преобразования дробных типов на (int) или (long). Опытный программист просто должен осознавать этот факт и применять его при целесообразности.
В 99% случаях можно вообще не заморачиваться с округлением. Для ценовых сравнений имею такую ерунду:
Можно заметить, что в большинстве случаях до round() дело вообще не дойдёт, хотя скорость не измерял.
см. выше
при x = 3 (любое целое число) происходит косячок :))
с уважением.
в моей или в вашей формуле косячок?
с уважением.
в старой моей:
и в вашей:
при x=3 и в том и другом случае будет неправильное значение 4
а вариант:
пока самый корректный при сохранении максимальной скорости выполнения.
в старой моей:
и в вашей:
при x=3 и в том и другом случае будет неправильное значение 4
а при вариант:
пока самый корректный при сохранении максимальной скорости выполнения.
а зачем эта формула нужна при подаче на ее вход целого числа?
P.S. нужно понимать, если вы хотите быть хорошим программистом, что не везде и не всегда нужно пихать разного рода ускоряющие функции, это зависит от поставленной задачи и алгоритма с которым вы работаете.с уважением.
а зачем эта формула нужна при подаче на ее вход целого числа?
с уважением.
ну вы ж можете и не знать, целое оно или не целое. Бывает такое, что double число может стать и целым.
P.S. нужно понимать, если вы хотите быть хорошим программистом, что не везде и не всегда нужно пихать разного рода ускоряющие функции, это зависит от поставленной задачи и алгоритма с которым вы работаете.
ну вы ж можете и не знать, целое оно или не целое. Бывает такое, что double число может стать и целым.
с уважением.
P.S. double по определению не может быть целым, представление числа в памяти машины не изменится.тогда городите сразу огород, под ваши варианты числа на входе.
с уважением.
вот потому, чтобы не городить ваш огород:
проще написать:
или так
вот чтобы не городить этот огород:
проще написать:
1-0.9999999999999998
у вас ничего не выйдет.
при таком подходе в любом случае можно найти число при котором ваша формула будет не верна. огород придется городить.
с уважением.
при
у вас ничего не выйдет.
при таком подходе в любом случае можно найти число при котором ваша формула будет не верна. огород придется городить.
с уважением.
я уже об этом писал здесь.
Советую вам перечитать данный топик, чтобы не повторяться.