MQL4 및 MQL5에서 Digits()를 무시하고 숫자(따옴표 제외)의 쉼표 뒤 소수 자릿수 가져오기 - 페이지 8 123456789101112131415...22 새 코멘트 Konstantin Gruzdev 2018.11.12 22:23 #71 Igor Makanu : 아니, 실행되지 않습니다 ... 아, 예, 0보다 작은 숫자에 대해 의도적으로 만든 것을 잊었습니다. 왜냐하면 로트를 정규화할 때 사용되었습니다. 수정되었습니다. 이제 모든 것이 정상입니다. #define EPSILON 0.000000001 #define MORE(A,B) ((A)-(B)>EPSILON) int Digit( double value) { int digits= 0 ; value= MathMod (value, 1.0 ); while (MORE( 1.0 / MathPow ( 10 ,digits),value)) digits++; return (digits); } //+------------------------------------------------------------------+ int DoubleToDigits( double value) { double absvalue= NormalizeDouble ( fabs (value- int (value)), 15 ); int res= StringLen ( string (absvalue))- 2 ; return (res<= 0 ? 0 :res); } //+------------------------------------------------------------------+ void OnStart () { double f = 122334550.007 ; Print ( "1. DoubleToDigits() = " ,DoubleToDigits(f)); Print ( "1. Digit() = " ,Digit(f)); f = 0.007 ; Print ( "2. DoubleToDigits() = " ,DoubleToDigits(f)); Print ( "2. Digit() = " ,Digit(f)); } 결과: 2018.11 . 13 05 : 18 : 40.599 Digits (EURUSD,M1) 1 . DoubleToDigits() = 11 2018.11 . 13 05 : 18 : 40.599 Digits (EURUSD,M1) 1 . Digit() = 3 2018.11 . 13 05 : 18 : 40.599 Digits (EURUSD,M1) 2 . DoubleToDigits() = 3 2018.11 . 13 05 : 18 : 40.599 Digits (EURUSD,M1) 2 . Digit() = 3 Алексей Тарабанов 2018.11.12 22:31 #72 나는 Forex에서 번 돈을 "Merry Trader" 바에 투자할 것입니다. 런던에서 열겠습니다. Igor Makanu 2018.11.12 22:37 #73 Konstantin Gruzdev : 아, 예, 0보다 작은 숫자에 대해 의도적으로 만든 것을 잊었습니다. 왜냐하면 로트를 정규화할 때 사용되었습니다. 수정되었습니다. 이제 모든 것이 정상입니다. 결과: 아니, 작동하지 않았다 이중 f = 122334550.00999; 결과: 2018.11.13 02:36:31.034 tst (EURUSD,M30) 1. 숫자() = 3 Алексей Тарабанов 2018.11.12 22:54 #74 주님, 이 사람들의 자녀들에게 물리학을 배울 기회를 주십시오. Konstantin Gruzdev 2018.11.12 23:29 #75 Igor Makanu : 아니, 작동하지 않았다 그리고 확실히, 나는 문제가 무엇인지 이해합니다) 고칠 것입니다 Alexey Viktorov 2018.11.13 07:17 #76 Алексей Тарабанов : 주님, 이 사람들의 자녀들에게 물리학을 배울 기회를 주십시오. 부모가 없으면 왜합니까? Mesaoria 2018.11.13 12:22 #77 먼저 자신에게 대답하십시오. 소수점 이하 자릿수를 알아야하는 이유 는 무엇입니까? 무엇을 위해? "숫자 포함"을 사용하는 유일한 올바른 방법은 해결 중인 문제의 프레임워크 내에서 미리 알려진 주어진 정밀도로 사용하는 것입니다. 다른 모든 것은 넌센스입니다. 나는 이중 모듈로의 값이 클수록 정확도가 낮고 모든 알고리즘(특히 문자열로 캐스팅하는 경우 일반적으로 이 이상임)이 엉망이 될 것이라는 사실에 대해서도 이야기하지 않습니다. Igor Makanu 2018.11.13 13:11 #78 Mesaoria : (특히 스트링으로 캐스팅하는 경우, 이것은 일반적으로 그 이상입니다) 망할 것입니다. 이것들은 표준 C++용이 아닌 MQL용 코드입니다. 그러면 C++에서 문자열로 작업하는 것은 무딘 "그리고 생각할 필요도 없습니다", MQL에서 내장 함수는 자체 작성 함수보다 빠릅니다. Mesaoria 2018.11.13 15:05 #79 Igor Makanu : 이것들은 표준 C ++가 아닌 MQL용 코드입니다. 그러면 C ++에서 문자열을 사용한 작업은 "무뚝뚝해지며" MQL 내장 함수가 자체 작성 함수보다 빠릅니다. 나는 그것에 대해 전혀 쓰지 않았다. 더블을 한 줄로 캐스팅하여 나중에 줄에서 문자 수를 세는 아이디어 - 이것은 완전한 게임입니다. 당신이 무엇을 하든지. Alexandr Sokolov 2018.11.13 16:20 #80 Mesaoria : 나는 그것에 대해 전혀 쓰지 않았다. 두 배를 한 줄에 캐스팅하여 나중에 줄에서 문자 수를 세는 아이디어 - 이것은 완전한 게임입니다. 당신이 무엇을 하든지. 예, 제 버전이 최고가 아닐 가능성이 높지만 이에 대해 더 일찍 찾지 못했기 때문에 이것이 제가 스스로 생각한 최선의 것입니다. 위의 의견에 이에 대해 썼지만 제안하지 않았습니다. 나만의 버전 123456789101112131415...22 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
아니, 실행되지 않습니다 ...
아, 예, 0보다 작은 숫자에 대해 의도적으로 만든 것을 잊었습니다. 왜냐하면 로트를 정규화할 때 사용되었습니다. 수정되었습니다. 이제 모든 것이 정상입니다.
결과:
아, 예, 0보다 작은 숫자에 대해 의도적으로 만든 것을 잊었습니다. 왜냐하면 로트를 정규화할 때 사용되었습니다. 수정되었습니다. 이제 모든 것이 정상입니다.
결과:
아니, 작동하지 않았다
이중 f = 122334550.00999;
결과:
2018.11.13 02:36:31.034 tst (EURUSD,M30) 1. 숫자() = 3
아니, 작동하지 않았다
그리고 확실히, 나는 문제가 무엇인지 이해합니다) 고칠 것입니다
주님, 이 사람들의 자녀들에게 물리학을 배울 기회를 주십시오.
부모가 없으면 왜합니까?
먼저 자신에게 대답하십시오. 소수점 이하 자릿수를 알아야하는 이유 는 무엇입니까? 무엇을 위해?
"숫자 포함"을 사용하는 유일한 올바른 방법은 해결 중인 문제의 프레임워크 내에서 미리 알려진 주어진 정밀도로 사용하는 것입니다.
다른 모든 것은 넌센스입니다.
나는 이중 모듈로의 값이 클수록 정확도가 낮고 모든 알고리즘(특히 문자열로 캐스팅하는 경우 일반적으로 이 이상임)이 엉망이 될 것이라는 사실에 대해서도 이야기하지 않습니다.
(특히 스트링으로 캐스팅하는 경우, 이것은 일반적으로 그 이상입니다) 망할 것입니다.
이것들은 표준 C++용이 아닌 MQL용 코드입니다. 그러면 C++에서 문자열로 작업하는 것은 무딘 "그리고 생각할 필요도 없습니다", MQL에서 내장 함수는 자체 작성 함수보다 빠릅니다.
이것들은 표준 C ++가 아닌 MQL용 코드입니다. 그러면 C ++에서 문자열을 사용한 작업은 "무뚝뚝해지며" MQL 내장 함수가 자체 작성 함수보다 빠릅니다.
나는 그것에 대해 전혀 쓰지 않았다. 더블을 한 줄로 캐스팅하여 나중에 줄에서 문자 수를 세는 아이디어 - 이것은 완전한 게임입니다. 당신이 무엇을 하든지.
나는 그것에 대해 전혀 쓰지 않았다. 두 배를 한 줄에 캐스팅하여 나중에 줄에서 문자 수를 세는 아이디어 - 이것은 완전한 게임입니다. 당신이 무엇을 하든지.