2026-06-02
外汇EA编程数据类型转换详解教程
MQL语言目前仅支持隐式类型转换,系统可以自动完成部分数据类型的转换。
int(包括bool、color、datetime)可以转换为double或string。
double可以转换为string。除了上述两种转换外,不能进行其他数据类型的隐式转换,例如:
int i = 1 / 2; // 分子和分母均为整型,结果取整为0,不会自动转换为0.5。
int i = 1 / 2.0; // 分母为double,分子自动转为double,计算得0.5,但变量i为整型,取整后结果为0。
double d = 1.0 / 1.0; // 无转换,结果为0.5。
double d = 1 / 2.0; // 分母为double,分子转为double,结果0.5。
double d = 1 / 2; // 分子分母均为整型,先计算整型0,再转换为double型0.0。
string s = NULL; // NULL值为0,结果为"0"。
string s = "abc" + 123; // 整型123自动转为string,结果为"abc123"。
注意:string类型不能隐式转换为int或double,因此以下表达式是错误的:
int i = "abc"; // 错误,无法完成转换。
string s = 1.0 / 8; // 分子分母中有一个为double,则所有非double部分转为double,计算得0.12500000,目标类型为string,最终结果为"0.12500000"。
如果需要将字符串"123"转换为整型123,必须使用专门的函数,这部分内容将在后续课程中展开。学习过程中若想查阅更多资料,可前往DBG Markets官网获取相关教程。
下一篇:没有了