舍入函数
MQL5 API 包括若干函数可用于将数字(在某一个方向)舍入到最近整数。尽管有舍入运算,但所有函数都返回 double 类型的数字(小数部分为空)。
从技术角度而言,它们接受任何数值类型的自变量,但仅实数被舍入,整数只是被转换为 double。
如果想要舍入至特定符号,可使用 NormalizeDouble(参见 双精度浮点数规范化章节)。
函数使用示例在 MathRound.mq5 文件中提供。
double MathRound(numeric value) ≡ double round(numeric value)
该函数将数字向上或向下舍入为最接近的整数。
PRT((MathRound(5.5))); // 6.0
|
如果小数部分的值大于或等于 0.5,则尾数加一(无论数字的符号为何)。
double MathCeil(numeric value) ≡ double ceil(numeric value)
double MathFloor(numeric value) ≡ double floor(numeric value)
该等函数返回传入 value 的最接近较大整数值(对于 ceil)或最接近较低整数值(对于 floor)。如果 value 已经等于一个整数(小数部分为零),对返回该整数。
PRT((MathCeil(5.5))); // 6.0
|