Double 대 FLOAT - 이해할 수 없는 MathFloor 오류 - 페이지 3 1234567 새 코멘트 Vladislav Andruschenko 2017.02.26 09:09 #21 Andrey F. Zelinsky : 왜냐하면 https://www.mql5.com/ru/docs/convert/normalizedouble Print()를 사용하여 저널에 인쇄할 때 정규화된 숫자는 예상보다 더 많은 소수 자릿수를 포함할 수 있습니다. 예를 들어, 그런 다음 댓글에서 같은 Vladislav Andruschenko 2017.02.26 09:10 #22 fxsaber : #define TOSTRING(A) #A + " = " + ( string )(A) + " " void OnStart (){ double Price1 = 105143 ; double Price2 = Price1 - 1 e- 11 ; Print (TOSTRING(Price1) + TOSTRING( MathFloor (Price1)) + TOSTRING(Price2) + TOSTRING( MathFloor (Price2)) + TOSTRING(Price1 > Price2));} 결과 Price1 = 105143.0 MathFloor (Price1) = 105143.0 Price2 = 105143.0 MathFloor (Price2) = 105142.0 Price1>Price2 = true 문자 그대로 이중 숫자를 인쇄하지 마십시오. 고맙습니다. 나는 아마도 여전히 올바른 해결책을 찾았을 것입니다. 그러나 잘못된 인쇄로 인해 실수로 죄를 지었습니다.! Dmitry Fedoseev 2017.02.26 09:12 #23 하나의 비정규화 숫자를 다른 비정규 숫자 로 나눈 나머지 결과는 어쨌든 비정규화됩니다. 일반적으로이 기능은 약한 정신을 다치게하지 않도록 언어에서 제거되어야합니다. fxsaber 2017.02.26 09:13 #24 Vladislav Andruschenko : 어쩌면 내가 올바른 해결책을 찾았을 수도 있습니다 불행히도, 당신의 코드는 당신이 하고 있는 일에 대한 완전한 이해 부족을 보여줍니다. 문제를 이해하려고 노력하십시오. Vladislav Andruschenko 2017.02.26 09:13 #25 Dmitry Fedoseev : 하나의 비정규화 숫자를 다른 비정규 숫자 로 나눈 나머지 결과는 어쨌든 비정규화됩니다. 일반적으로이 기능은 약한 정신을 다치게하지 않도록 언어에서 제거되어야합니다. 그래서 모든 것이 정상으로 돌아왔습니다. 그게 내가 먹는 재미입니다. Andrey Dik 2017.02.26 09:15 #26 Vladislav Andruschenko : 그래서 모든 것이 정상으로 돌아왔습니다. 그게 내가 먹는 재미입니다. 캐릭터를 잃게 만드는 불필요한 변형을 하고 있습니다. 계산 결과를 직접 사용하기 전에만 정규화를 수행하십시오. 그 전에는 가능하면 모든 숫자 캐스팅 및 변환을 피하십시오. Vladislav Andruschenko 2017.02.26 09:16 #27 Andrey Dik : 표지판을 잃게 만드는 불필요한 변형을 하고 있습니다. 이미 필사적인 코드들입니다.....별도의 방법으로 해봤습니다. 그러나 위에서 말했듯이. 아마도 잘못 받아 들여서 실수로 죄를 지었습니다. 코드에서 이러한 변수에는 결함이 있습니다. 여러분의 도움과 제안에 감사드립니다. 그러나 float를 사용하면 모든 것이 잘 작동합니다. fxsaber 2017.02.26 09:19 #28 Vladislav Andruschenko : float를 사용하면 모든 것이 잘 작동합니다. 최악의 권장 사항 중 하나는 이중에서 부동으로 전환하는 것입니다. Dmitry Fedoseev 2017.02.26 09:19 #29 Vladislav Andruschenko : 그래서 모든 것이 정상으로 돌아왔습니다. 그게 내가 먹는 재미입니다. 어떤 알려지지 않은 곳에서 정규화됩니까? Andrey Dik 2017.02.26 09:20 #30 Vladislav Andruschenko : 이미 필사적인 코드들입니다.....별도의 방법으로 해봤습니다. 그러나 위에서 말했듯이. 아마도 잘못 받아 들여서 실수로 죄를 지었습니다. 코드에서 이러한 변수에는 결함이 있습니다. 여러분의 도움과 제안에 감사드립니다. 그러나 float를 사용하면 모든 것이 잘 작동합니다. float는 이점이 없는 숫자의 거세입니다. 변환의 모든 손실을 더 잘 처리하고 가능한 가장 높은 정밀도인 double을 사용합니다. 1234567 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
왜냐하면 https://www.mql5.com/ru/docs/convert/normalizedouble
Print()를 사용하여 저널에 인쇄할 때 정규화된 숫자는 예상보다 더 많은 소수 자릿수를 포함할 수 있습니다. 예를 들어,
그런 다음 댓글에서 같은
void OnStart ()
{
double Price1 = 105143 ;
double Price2 = Price1 - 1 e- 11 ;
Print (TOSTRING(Price1) + TOSTRING( MathFloor (Price1)) +
TOSTRING(Price2) + TOSTRING( MathFloor (Price2)) +
TOSTRING(Price1 > Price2));
}
고맙습니다. 나는 아마도 여전히 올바른 해결책을 찾았을 것입니다. 그러나 잘못된 인쇄로 인해 실수로 죄를 지었습니다.!
하나의 비정규화 숫자를 다른 비정규 숫자 로 나눈 나머지 결과는 어쨌든 비정규화됩니다.
일반적으로이 기능은 약한 정신을 다치게하지 않도록 언어에서 제거되어야합니다.
어쩌면 내가 올바른 해결책을 찾았을 수도 있습니다
하나의 비정규화 숫자를 다른 비정규 숫자 로 나눈 나머지 결과는 어쨌든 비정규화됩니다.
일반적으로이 기능은 약한 정신을 다치게하지 않도록 언어에서 제거되어야합니다.
그래서 모든 것이 정상으로 돌아왔습니다. 그게 내가 먹는 재미입니다.
계산 결과를 직접 사용하기 전에만 정규화를 수행하십시오. 그 전에는 가능하면 모든 숫자 캐스팅 및 변환을 피하십시오.
표지판을 잃게 만드는 불필요한 변형을 하고 있습니다.
그래서 모든 것이 정상으로 돌아왔습니다. 그게 내가 먹는 재미입니다.
이미 필사적인 코드들입니다.....별도의 방법으로 해봤습니다. 그러나 위에서 말했듯이. 아마도 잘못 받아 들여서 실수로 죄를 지었습니다. 코드에서 이러한 변수에는 결함이 있습니다.