"정확한"값을 얻을 수 있습니까? - 페이지 6

 
abolk :

이 문제를 해결하려면 0.09*5가 =0.45가 아니라 =0.449999999999999여야 합니다.

그런 일이 없으면 작업은 처음에는 해결할 수 없습니다.

0.09*5=0.45 )

계산하는 방법을 잊으셨습니까?))

 
sanyooooook :

0.09*5=0.45 )

계산하는 방법을 잊으셨습니까?))

맞습니다. MQL의 "해당" 작업으로 인해 0.45 대신 0.44를 고려하는 예가 제공되었습니다. 나는 언어에 대해 잘 모르지만 숫자가 범위를 벗어날 때 잘리는 대신 반올림된다는 의미에서 큰 숫자가 잘리는 이유가 이상합니다. "정확한 문자열 트리밍" 방법(아마도 위에서 제공한 방법)이 MQL에서 사용된다면 좋을 것입니다. :)
 
WePlexus :
맞습니다. MQL의 "해당" 작업으로 인해 0.45 대신 0.44를 고려하는 예가 제공되었습니다. 나는 언어에 대해 잘 모르지만 숫자가 범위를 벗어날 때 잘리는 대신 반올림된다는 의미에서 많은 수가 잘리는 이유가 이상합니다. "정확한 문자열 트리밍" 방법(아마도 위에서 제공한 방법)이 MQL에서 사용된다면 좋을 것입니다. :)
수학에서 그렇게 받아들여지기 때문에 소수점 이하 자릿수를 제거해야 하는 경우 값은 반올림됩니다.
 
sanyooooook :
수학에서 그렇게 받아들여지기 때문에 소수점 이하 자릿수를 제거해야 하는 경우 값은 반올림됩니다.
현명하게
 
도와 주셔서 감사합니다.
 
언제나
 
WePlexus :
나는 언어에 대해 잘 모르지만 숫자가 범위를 벗어날 때 잘리는 대신 반올림된다는 의미에서 큰 숫자가 잘리는 이유가 이상합니다. "정확한 문자열 트리밍" 방법(아마도 위에서 제공한 방법)이 MQL에서 사용된다면 좋을 것입니다. :)
나는 "정확한 할례"가 얼마나 유용할 수 있는지 이해합니다. 글쎄, 해결 된 문제에서 만족감과 정당한 자부심을 제외하고는 :).
 
반올림이 더 쉽습니다.
 
abolk :

다음은 정규화가 통과하는 최대 수입니다.

하나 더 9-ku를 가져 가면 이미 0.02로 정규화됩니다.

다음은 작업을 수행하는 내 기능 입니다.

Normalize ( "0.01999999999999999999999999999999" , 6 )

0.019999를 출력합니다. 그런 다음 숫자를 원하는 유형으로 캐스팅하고 이를 사용하여 수학 연산을 수행할 수 있습니다.

따옴표 없이 함수에 숫자를 전달하면 결과적으로 0.02가 됩니다.

 
WePlexus :

문제를 해결하는 방법에는 여러 가지가 있습니다. 각 방법에는 결과의 정확성과 결과를 얻는 속도 면에서 장단점이 있습니다.

부동 숫자를 사용하는 작업에는 고유한 특성이 있습니다. 이러한 특성을 이해해야 하며, 이러한 기능을 이미 이해하고 있고 작업에 대해 이미 솔루션을 찾고 있습니다.