绕过MQL4和MQL5中的Digits(),获取任何数字的小数位数(不仅仅是引号)。 - 页 3

 
A100:

这和鬼魂有什么关系?

Print(500000000000.00001); // 500000000000.0
 
简直太神奇了!如此顽固地、认真地证明错误的答案就是正确的答案。这不是我的错,是他想出来的))。
 
Alexandr Sokolov:

由于某种原因,在论坛上是这样的,但在编辑器中却和平时一样。

好吧,我会检查一下我是否在其他地方使用过这个名字。

 
Алексей Тарабанов:

好吧,我会检查我是否在其他地方使用过这个名字。

在编辑器中,变量值的名称没有显示为蓝色(仅在论坛上)。而且只有在MQL4中它是蓝色的,而在MQL5中它照样是黑色的。我不知道为什么会这样,而且似乎也不影响代码的正确性,没有人用截图来倾诉)。

 
fxsaber:

在双打中没有这样的数字。它大约等于500000000.00100016593933105。它被分配到了。

你得到了它那么有多少个小数位呢? 8?

 
Алексей Тарабанов:

不是 "你有8个",mql默认有8个。我们不能阅读文件吗?

在MQL中默认的8是什么?文件的链接在哪里?而这与最初的问题有什么关系呢?

 
   double x=500000000.0001;
   
   Alert((500000000.0001==NormalizeDouble(500000000.0001,4))); // true
 
int d(double x){
   int n;
   for(n=0;n<8;n++){
      if(x==NormalizeDouble(x,n)){
         return(n);
      }
   }
   return(n-1);
}
 
Dmitry Fedoseev:

我跪下了。

 

Dmitry Fedoseev:

int d(double x){
   int n;
   for(n=0;n<8;n++){
      if(x==NormalizeDouble(x,n)){
         return(n);
      }
   }
   return(n-1);
}
我想这也是可行的,但我还没有测试过任何东西,但我明白了这个想法,而且错误可以在你进行的过程中得到纠正(如果有的话)。