XAUUSD.ecn
 
1,284.73/ 1,284.93
AUDCAD.ecn
 
0.99710/ 0.99740
AUDCHF.ecn
 
0.76493/ 0.76503
AUDJPY.ecn
 
86.5900/ 86.5910
AUDNZD.ecn
 
1.08421/ 1.08451
CADCHF.ecn
 
0.76706/ 0.76736
GBPCAD.ecn
 
1.61903/ 1.61943
AUDUSD.ecn
 
0.79294/ 0.79294
EA编程(3)—数据类型转换怎样操作?

问:

EA编程(3)—数据类型转换怎样操作?

答:

MQL语言目前仅支持隐式转换,MQL目前可以做一下数据类型自动转换。

int(bool, color, datetime) 可转换成 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; //没有任何转换,结果就是0.5。

double d = 1 / 2.0; //由于分母是double型,所以分子会被转换成double型,也就是1.0,所以这个表达式的结果为0.5。

double d = 1 / 2; //由于分子和分母都是整形,所以计算出来的结果是整型0,目标d的类型为double,所以最终结果由整型0转换为double型0.0

string s = 1.0 / 8; //由于分子和分母中有一个为double,则分子和分母中非double都会转成double型,表达式的结果为0.12500000,由于目标类型为字符串,所有最终的结果为string型,值为”0.12500000″,注意值的前后有个双引号。

string s = NULL; //结果为”0″,注意NULL的值就是0

string s = “abc” + 123; //结果为”abc123″,123原本为整形,被转换成string型。

注意string类型不能隐式转换成int和double,所以一下表达式都是错误的。

int i = “abc”;

如果是字符串”123″要转换成整型123,需要使用函数进行转换。

未经允许不得转载:

马上注册

注:请填写正确的邮件地址和手机号码

1:邮件地址用于接收下载链接

2:手机号码用于接收验证信息