用 OnEvent 可以接受 字符信息 数字转 变成0了


     Global Numeric ZXZHI;
       Global Map<String,String> map_daxiao; 
Events

OnBar(ArrayRef<Integer> indexes)
{       
          if (H < H[2] And H[1] < H[2])  H1 = H[2];
          else  H1 = 0; 
          if (L > L[2] And L[1] > L[2])  L1 = L[2];
          else  L1 = 0;
          if(H1 > 0) H2 = H1;
          If(L1 > 0) L2 = L1;
          If(Close > H2) K1= -3;
          ELSE IF (Close < L2) K1=1;
          Else K1 = 0;
          if(K1 <> 0) k2 = k1;
          TMP1=K2;
          shangc = CrossUnder(TMP1, 0); //死叉
          xiac = CrossOver(TMP1, 0);    //金叉  
          
          LSHANGC=NthCon(shangc[1],1);
          LXIAC= NthCon(xiac[1],1);
          ZXZHI = Min(LSHANGC,LXIAC);  
          
           map_daxiao["最近距离"] = "ZXZHI";          
           PublishEvent("比大小",map_daxiao,"所有订阅者");
           Print("ZXZHI="+Text(ZXZHI)); 

发送端把 ZXZHI 变输出是有值的

下面代码是接受端


      Global Numeric TIMEXX;
       Global Numeric tttt;
              
Events
OnInit()
  {
         CreateTimer(1200);
         SubscribeEvent("比大小");
   } 
OnEvent(StringRef evtName, MapRef<String, String> evtValue)
{
    if(evtName == "比大小")
    {
        TIMEXX = Value(evtValue["最近距离"]);
        print(evtName + "  " + TextMap(evtValue));
        Print("TIMEXX="+Text(TIMEXX));
    }
}

在接受 其实信息输出都正确的   TIMEXX  输出是0的  是什么原因 老师帮忙看一下

字符串转换为数字
请问怎么把字符串数字转化成数字?
数字如何转换为字符串?我要打印某些数字在界面显示。
判断字符串中的第N个字符为字母或数字
获取字符串中第一个数字(或字母)的位置用哪个函数?
请问,输出转股价为0
Data0合约消失了?
通用事件,OnEvent
Value转数字疑问
字符串是否支持切片和判断是否是字符

map_daxiao["最近距离"] = "ZXZHI";  

首先你赋值时,赋了一个字符串,意义不明

TIMEXX = Value(evtValue["最近距离"]);

接受端你企图把,字符串 "ZXZHI" ,变成1个数字。 显然不可能。


map_daxiao["最近距离"] = text(ZXZHI); 更像那么回事