MQL语言目前仅支持隐式转换,这意味着在某些情况下,MQL可以自动进行数据类型转换。
int(bool, color, datetimeeightcap外汇) 可以转换为 double 或 string 类型
double 可以转换为 string 类型,除了上述两种转换外,不能进行其他数据类型转换,例如:
int i = 1 / 2; //不进行数据转换,注意结果为0,而不是0.5,因为分子和分母都是整数,就不会进行转换。
int i = 1 / 2.0; //表达式已经转换为double类型,计算结果为0.5,但变量i定义为int型,因此取整部分为0,最终结果还是整数0。
double d = 1.0 / 1.0; //没有任何转换,eightcap外汇结果就是1.0。
double d = 1 / 2.0; //由于分母是double型,分子会被转换为double型,即1.0,因此表达式结果为0.5。
double d = 1 / 2; //由于分子和分母都是整数,计算结果是整型0,目标变量为double类型,所以最终结果由整型0转换为double型0.0
string s = NULL; //结果为"0",注意NULL的值就是0
string s = "abc" + 123; //结果为"abc123",eightcap外汇123原本为整型,被转换为string型。
注意,string类型不能隐式转换为int和double,所以以下表达式都是错误的:
int i = "abc";
string s = 1.0 / 8; //由于分子和分母中有一个为double,则非double类型都会转换成double,表达式结果为0.12500000,目标类型为字符串,所以最终结果为string型,值为"0.12500000",注意值前后有双引号。
如果要将字符串"123"转换为整型123,需要使用转换函数,这个函数将在后续的课程中介绍。
资深外汇分析师
由多名资深外汇分析师组成的专业团队,拥有平均15年以上的市场分析经验,擅长技术分析和基本面分析相结合的交易策略。