MQL4 및 MQL5에서 Digits()를 무시하고 숫자(따옴표 제외)의 쉼표 뒤 소수 자릿수 가져오기 - 페이지 3

 
A100 :

그리고 유령은 어떻습니까?

 Print ( 500000000000.00001 ); // 500000000000.0
 
그냥 굉장해! 오답이 정답임을 증명하기 위해 고집스럽고 진지하게. 나는 결백하다, 그가 직접 왔다))
 
Alexandr Sokolov :

어떤 이유로 포럼에 있지만 편집기에서는 모든 것이 평소와 같습니다.

글쎄, 그래서 나는 그 이름을 다른 곳에서 사용한 적이 있는지 확인하고 싶습니다.

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

글쎄, 그래서 나는 그 이름을 다른 곳에서 사용한 적이 있는지 확인하고 싶습니다.

편집기에서 변수 이름 값이 파란색으로 표시되지 않습니다(포럼에서만 해당). 예, MQL4 버전에서만 파란색으로 표시되고 평소와 같이 MQL5에서는 검정색으로 표시됩니다. 왜 그런지 모르겠고 코드의 정확성에 영향을 미치지 않는 것 같습니다. 결국 아무도 스크린샷에 불만을 표시하지 않았습니다.)

 
fxsaber :

double 에는 그런 수가 없습니다 . 대략 500000000과 같습니다. 00100016593933105 . 할당됩니다.

추측 . 그리고 소수점 이하 자릿수는 몇 개입니까? 여덟?

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

"you have 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 );
}
나는 이것이 작동하는 옵션이라고 생각하지만 아직 아무것도 확인하지 않았지만 아이디어 자체를 이해했으며 도중에 오류를 수정할 수 있습니다(있는 경우)