MQL4数据类型转换函数

本组函数提供从一种格式到另一种格式的数据转换功能。

特别要注意 NormalizeDouble() 函数,它确保了表示价格所需的准确性。在交易过程中,MT4不可能使用非标准价格,即使价格的小数位数多出一位,超出了交易服务器的要求的精度也是不能接受的。

  • CharToStr() – ASCII码转换成字符串
  • DoubleToStr() – 浮点型数据转换成字符串
  • NormalizeDouble() – 标准化双精度型数值
  • StrToDouble() – 字符串型数据转换成浮点型
  • StrToInteger() – 字符串数据转换成整型数值
  • StrToTime() – 字符串数据转换成日期时间
  • TimeToStr() – 日期时间型数据转换成字符串

 

CharToStr() – ASCII码转换成字符串

string CharToStr(int char_code)

该函数将ASCII码转换成字符串。

参数:

char_code - 字符的ACSII码。 

示例:

  string str="WORL" + CharToStr(44); // 44 是 'D' 的ASCII码。
  // str的结果为WORLD
Back to Top

DoubleToStr() – 浮点型数据转换成字符串

string DoubleToStr(double value, int digits)

该函数将双精度浮点型数值转换成指定精度(指定小数位数)的字符串。

参数:

value - 要转换的数值。 
digits - 精度要求,小数点后位数(0-8)

示例:

  string value=DoubleToStr(1.28473418, 5);
  // 值为"1.28473"
Back to Top

NormalizeDouble() – 标准化双精度型数值

double NormalizeDouble(double value, int digits)

浮点型数值四舍五入到指定的精度,返回标准化双精度型数值。

计算止损值和赢利值,挂单交易,即时交易的价格都要求将价格标准化(即指定价格的小数位数不能超过服务器所要求的精度)。这个精度要求可以从预定义的 digits变量 中获得。

注意:NormalizeDouble() 函数,它确保了表示价格所需的准确性。在交易过程中,MT4不可能使用非标准价格,即使价格的小数位数多出一位,超出了交易服务器的要求的精度也是不能接受的

参数:

value - 要转换的数值。 
digits - 精度要求,小数点后位数(0-8)

示例:

  double var1=0.123456789;
  Print(DoubleToStr(NormalizeDouble(var1,5),8));
  //  输出的信息为: 0.12346000
Back to Top

StrToDouble() – 字符串数据转换成浮点型数值

double StrToDouble(string value)

该函数将数值形式的字符串转换成双精度型数值。

参数:

value - 数字形式的字符串。

示例:

  double var=StrToDouble("103.2812");
Back to Top

StrToInteger() – 字符串数据转换成整型数值

int StrToInteger(string value)

该函数将数值形式的字符串转换成整型数值。

参数:

value - 数字形式的字符串。 

示例:

  int var1=StrToInteger("1024");
Back to Top

StrToTime() – 字符串数据转换成日期时间

datetime StrToTime(string value)

该函数将数值形式的字符串转换成日期时间数据,输入格式为 "yyyy.mm.dd hh:mm"。

参数:

value - "yyyy.mm.dd hh:mm" 形式的字符串。 

示例:

  datetime var1;
  var1=StrToTime("2003.8.12 17:35");
  var1=StrToTime("17:35");      // 返回当前日期,给指定的时间
  var1=StrToTime("2003.8.12");  // 返回日期时间为"2003.8.12 00:00"
Back to Top

TimeToStr() – 日期时间型数据转换成字符串

string TimeToStr(datetime value, void mode)

该函数将日期时间型数据(从1970年1月1日起经过的秒数)转换为 "yyyy.mm.dd hh:mm" 形式的字符串。

参数:

value - 从1970年1月1}1 00:00所经过的秒数。
mode - 数据输出形式可以是下列一个或者多个组合:
       TIME_DATE 结果格式为 "yyyy. mm. dd",
       TIME_MINUTES 结果格式为"hh:mm",
       TIME_SECONDS 结果格式为“hh:mm:ss".

示例:

  string var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);
Back to Top

 

 


MyFxtop迈投-靠谱的外汇跟单社区,免费跟随高手做交易!

 

免责声明:本文系转载自网络,如有侵犯,请联系我们立即删除,另:本文仅代表作者个人观点,与迈投财经无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。

風險提示

MyFxtops邁投所列信息僅供參考,不構成投資建議,也不代表任何形式的推薦或者誘導行為。MyFxtops邁投非外匯經紀商,不接觸妳的任何資金。 MYFXTOPS不保證客戶盈利,不承擔任何責任。從事外彙和差價合約等金融產品的槓桿交易具有高風險,損失有可能超過本金,請量力而行,入市前需充分了解潛在的風險。過去的交易成績並不代表以後的交易成績。依據各地區法律法規,MyFxtops邁投不向中國大陸、美國、加拿大、朝鮮居民提供服務。

邁投公眾號

聯繫我們

客服QQ:981617007
Email: service@myfxtop.com

MyFxtops 邁投