- Числа в строки и обратно
- Нормализация чисел double
- Дата и время
- Цвет
- Структуры
- Перечисления
- Тип complex
Нормализация чисел double
MQL5 API предоставляет функцию для округления чисел с плавающей точкой до указанной точности (количества значащих цифр в дробной части).
double NormalizeDouble(double number, int digits)
Округление требуется в торговых алгоритмах для задания объема и цен в приказах. Округление производится по стандартным правилам: последний видимый разряд увеличивается на 1, если следующий (отбрасываемый) разряд больше или равен 5.
Допустимые значения параметра digits: от 0 до 8.
Примеры использования функции доступны в файле ConversionNormal.mq5.
void OnStart()
|
Из-за того, что любое вещественное число имеет ограниченную точность внутреннего представления, даже будучи нормализованным оно может отображаться приближенно:
...
|
Это нормальное, неизбежное явление. Для более компактного форматирования используйте функции DoubleToString, StringFormat или промежуточное приведение к (float).
Для округления числа до ближайшего целого вверх или вниз используйте функции MathRound, MathCeil, MathFloor (см. раздел Функции округления).