По идее то что мне надо это математические функции типа "ceil", только стандартная функция в mt4 тут не подходит
0.0047 и 1.045 и так округляются как надо с NormalizeDouble(), без дополнительных усилий.
С остальными как-то так:
double n=0.0123, m; int x=3; if(n-NormalizeDouble(n,x) > 0) m = NormalizeDouble(n,x)+MathPow(10,-x);
а можно и так:
double n=0.0123, m; int x=3; m=MathPow(10,-x)*MathCeil(n*MathPow(10,x));
Будьте проще и народ к вам потянется:
1. Округление классическое: I=F+0.5; где I - целое, а F - нет.
2. Округление "вверх": I=F+1;
3. Округление "вниз": I=F-1;
Если кто предложит лучший вариант, могу предложить пивка.
ЗЫ В подмосковном техникуме при в/ч 19161 (г.Ногинск) этому приему учили программистов в 1960-е.
Ну ты чуток лишка хватнул. В 1961м я в первый класс пошёл и прекрасно помню что такое "Феликс" но что-то не помню чтобы к этому компьютеру прилагались программисты. :)
Феликса механики прoграммировали, кувалдочкой )))
Но были и ЭВМ, тёплые, ламповые.
Ну ты чуток лишка хватнул. В 1961м я в первый класс пошёл и прекрасно помню что такое "Феликс" но что-то не помню чтобы к этому компьютеру прилагались программисты. :)
Просто подскажу: для целочисленного округления в большую сторону самый эффективный способ: I=F+1: где I - целое, F - не очень.
Добрый день! Подскажите, пожалуйста, как мне округлить дробное число от X значения после запятой в большую сторону?
Например.
X = 2; число 0.022; Результатом должно быть 0.03
X= 2; число 0.020;Результатом должно быть 0.02
X= 3; число 0.0047; Результатом должно быть 0.005
X= 3; число 1.000. Результатом должно быть 1
X= 2; число 1.045. Результатом должно быть 1.05
Если выделенное это количество знаков для округления, то это решается достаточно просто.
Если Х=2 то MathCeil(0.022*100)/100
Если Х=3 то умножать и делить надо на 1000
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день! Подскажите, пожалуйста, как мне округлить дробное число от X значения после запятой в большую сторону?
Например.
X = 2; число 0.022; Результатом должно быть 0.03
X= 2; число 0.020;Результатом должно быть 0.02
X= 3; число 0.0047; Результатом должно быть 0.005
X= 3; число 1.000. Результатом должно быть 1
X= 2; число 1.045. Результатом должно быть 1.05