下载MetaTrader 5
MQL5参考字符串函数StringCompare 

StringCompare

该函数是比较两个字符串并且以整数形式返回比较结果。

int  StringCompare(
   const string&  string1,                 // 比较的第一个字符串
   const string&  string2,                 // 比较的第二个字符串
   bool           case_sensitive=true      // 为比较选择大小写敏感模式 
   );

参量

string1

[in] 第一个字符串。

string2

[in]  第二个字符串。

case_sensitive=true

[in]  大小写敏感模式。如果是true,则 "A">"a"。如果是false,则"A"="a"。默认情况下值等于 true。

返回值

  • -1 (负一), 如果 string1<string2
  • 0 (零), 如果 string1=string2
  • 1 (一), 如果 string1>string2

注释

字符串是字符与字符相比较,字符根据当前代码页以字母表的顺序比较。

示例:

void OnStart()
  {
//--- 哪个更大 - apple or home?
   string s1="Apple";
   string s2="home";
 
//--- 区分大小写的比较 
   int result1=StringCompare(s1,s2);
   if(result1>0) PrintFormat("Case sensitive comparison: %s > %s",s1,s2);
   else
     {
      if(result1<0)PrintFormat("Case sensitive comparison: %s < %s",s1,s2);
      else PrintFormat("Case sensitive comparison: %s = %s",s1,s2);
     }
 
//--- 不区分大小写的比较
   int result2=StringCompare(s1,s2,false);
   if(result2>0) PrintFormat("Case insensitive comparison: %s > %s",s1,s2);
   else
     {
      if(result2<0)PrintFormat("Case insensitive comparison: %s < %s",s1,s2);
      else PrintFormat("Case insensitive comparison: %s = %s",s1,s2);
     }
/* 结果:
     区分大小写的比较: Apple < home
     不区分大小写的比较: Apple < home
*/
  }

另见

字符串类型CharToString()ShortToString()StringToCharArray()StringToShortArray()StringGetCharacter()代码页的使用


更新: 2015.12.03