[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 451

 
bernc:

也就是说,你需要这个函数F(8,5464.00) = 85464.00

8.5464/0.0001=85464
 
peshihod:

MathMod()是除法。剩下的就是纯粹的数学了:如果TimeLocal()的结果每秒钟(或更频繁)被除以20,那么每20秒的余数将为零。

结论:同样的想法可以用不同的方式实施。


为什么我必须每20秒做一次?为什么不在19岁或17岁时?

bool flag = true;
int i=0;
int w=0;
double sum;

int t=20;

int start()
{
sum=TimeLocal() / t;

if (flag)
{
while(i<20)
{

w=w+1;
Alert(+w,"-й, Результат TimeLocal-",+sum);
i++;
sum=sum/20;
Sleep(1000);

}
flag = false;
}
return(0);
}

在这里,它每11秒等于零。除以20,20倍。

对不起,我问了很多关于努比亚的问题,这只是我想了解的事情。

 

为什么要精确地除以20次?

你必须划分,直到你赢;)

 
peshihod:
8.5464/0.0001=85464

谢谢你。

但这不是我的意思,逗号是三段式的分隔符,点是分隔小数部分 的。

我有一个字符串8,5464.00,我需要将其转换为一个数字。StrToDouble(8,5464.00) 取8。

F(8,5464.00) = 85464.00

 

试试这个函数

{

通过https://docs.mql4.com/ru/strings/StringFind,搜索逗号

由两部分组成一个新的字符串:逗号前的字符串和逗号后的字符串https://docs.mql4.com/ru/strings/StringGetChar

转换为数字 StrToDouble()

}

 

这里有一个典型的例子,就像你说的那样。

嗯...

它怎么会在20秒内正好变成零呢?请看数字8000000000下的当地时间...棘手的部分是什么?也许我只是需要休息一下, eh....

int i=0;
int e;
int w=0;
int start()

{
while(true)
{
e=MathMod(TimeLocal(), 20);
w=w+1;
Alert(+w,"-й, Результат MathMod-",+e);


Sleep(1000); // Спим 1-ну секунду


return(0);
}

 
rlx:

试试这个函数

{

通过https://docs.mql4.com/ru/strings/StringFind,搜索逗号

由两部分组成一个新的字符串:逗号前的字符串和逗号后的字符串https://docs.mql4.com/ru/strings/StringGetChar

转换为数字 StrToDouble()

}

难道就没有其他办法吗,或者这个功能会不会运行很长时间。

 

如果MathMod(EVERYTHING, 20)=0,这意味着(如果我没记错的话)

每个数字除以20都没有余数。

20 40 60 80 100 120 140 160等。

 
bernc:

是否没有其他办法,或者这个功能需要很长时间。



我不知道还能怎样把逗号从字符串中取出来。

 
bernc:

谢谢你。

但这不是我的意思,我说的是用逗号来分隔三段式,用点来分隔小数部分。

我有一个字符串8,5464.00,我需要将其转换为一个数字。StrToDouble(8,5464.00)将变为8。

F(8,5464.00) = 85464.00



按字符,通过字符串函数,去除逗号,然后StrToDouble()。