EATC

 找回密码
 立即注册
查看: 927|回复: 1

外汇EA编程教程――数据类型转换

[复制链接]

2718

主题

5151

帖子

2万

积分

交易元老

Rank: 8Rank: 8

积分
21554
发表于 2022-7-23 17:02:07 | 显示全部楼层 |阅读模式
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,目标dstring s = NULL; //结果为"0",注意NULL的值就是0

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

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

int i = "abc";

的类型为double,所以最终结果由整型0转换为double型0.0

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

如果是字符串"123"要转换成整型123,需要使用函数进行转换,这个函数将在后续的课程中提到。
回复

使用道具 举报

2992

主题

5574

帖子

2万

积分

交易元老

Rank: 8Rank: 8

积分
29056
发表于 2023-10-14 10:34:01 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏本站|法律声明|Archiver|小黑屋|support@ea198.com|EATC ( 桂ICP备2022005787号 )

风险提示与免责声明:擅自从事外汇保证金交易的双方不受法律保护!社区内展示内容,均为网友自发分享,不构成投资建议,社区无法全面监控由第三方上传至社区的资源,因此不保证资源的合法性、安全性、完整性、真实性或品质等。您下载时,同意自行判断并承担所有风险。社区内的资源,仅限用于学习和研究目的,不得将用于商业或者非法用途,否则,一切后果请用户自负。社区信息来自网络,版权争议与社区无关,您下载后须在24个小时之内进行删除。如果您喜欢该内容,请支持正版。如有侵权请邮件与我们联系处理。