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

 
sanyooooook :

무슨 기능을 말하는거야?

라인 또는 NL을 통해 첫 번째?

NL 함수.

그렇다면:

NL ( 2 , 0.09 * 5 ); // 0.44

0.45 대신 0.44를 제공합니다.

 
WePlexus :

NL 함수.

그렇다면:

0.45 대신 0.44를 제공합니다.


   Print (NL(DIGITS, 0.45 ));
2014.10 . 04 13 : 13 : 03.089 normalize EURUSD,H4: 0.45
 
WePlexus :

NL 함수.

그렇다면:

0.45 대신 0.44를 제공합니다.

그 이유는 다음과 같습니다. MathFloor (값/단계)=44

입력은 44.99999999999999이고 이 함수는 아래에서 가장 가까운 정수를 반환합니다.

이유: 값/단계(0.45/0.01)=44.99999999999999 이것은 나를 위한 질문이 아닙니다)

 
sanyooooook :

이것은 MathFloor(값/단계)=44 때문입니다.

입력은 44.99999999999999이고 이 함수는 아래에서 가장 가까운 정수를 반환합니다.

이유: 값/단계(0.45*100)=44.99999999999999 이것은 나를 위한 질문이 아닙니다)

고맙습니다. :)
 
WePlexus :
고맙습니다. :)
게시물의 오류를 수정했습니다
 
WePlexus :
고맙습니다. :)

그래서 당신의 기능이 정확합니다)

그건 그렇고,이 경우 내 기능을 제외한 모든 기능은 0.45 ))

 
즉, 기능을 사용하기 전에 입력 데이터를 확인하고 숫자에 따라 이 기능 또는 저 기능을 선택해야 합니다)
 
sanyooooook :

그래서 당신의 기능이 정확합니다)

그건 그렇고,이 경우 내 기능을 제외한 모든 기능은 0.45 ))

음, Sanyok, 당신은 사기꾼입니다.

내 기능:

 //double d=0.019999999999999999;
double d= 0.09 * 5 ;
double e=( int )(d* 100 )/ 100.0 ;
Print ( "e=" ,e);
제공 = 0.44
 
abolk :

내 기능

제공 = 0.44
예, 하지만 계산기에는 0.09*5= 0.45 라고 나와 있습니다. :)
 
WePlexus :
맞습니다. 계산기의 결과는 0.45입니다. :)

처음에는 관심을 두지 않았다