abolk :
0.02*4.9=0.098 -- 0.98이 아님
소수점 이하 2자리 형식으로 출력 시 -- 0.098은 반올림 규칙에 따라 0.10으로 반올림하여 출력
3자 형식으로 출력하면 전체 숫자가 표시됩니다.
덕분에 숫자 수정했습니다.
문제는 소수점 뒤 2자리를 취해야 한다는 것입니다. :) 반올림된 이유는 무엇입니까? 반올림하지 않고 소수점 이하 두 자리(0.09)만 있는 소수를 어떻게 취할 수 있습니까?
WePlexus :
문자열로 변환하고 필요한 수의 문자를 가져옵니다.
덕분에 숫자 수정했습니다.
문제는 소수점 뒤 2자리를 취해야 한다는 것입니다. :) 반올림된 이유는 무엇입니까? 반올림하지 않고 소수점 이하 두 자리(0.09)만 있는 소수를 어떻게 취할 수 있습니까?
WePlexus :
덕분에 숫자 수정했습니다.
문제는 소수점 뒤 2자리를 취해야 한다는 것입니다. :) 반올림된 이유는 무엇입니까? 반올림하지 않고 소수점 이하 두 자리(0.09)만 있는 소수를 어떻게 취할 수 있습니까?
int a= int ( 0.098 / 0.01 ); double b=a* 0.01 ; Comment ( DoubleToString (b, 2 ));
sanyooooook :
문자열로 변환하고 필요한 수의 문자를 가져옵니다.
그리고 당신은 더 나은 방법을 모릅니다
문자열로 변환하고 필요한 수의 문자를 가져옵니다.
Vinin :
그리고 당신은 더 나은 방법을 모릅니다
그리고 말해주세요. :)
그리고 당신은 더 나은 방법을 모릅니다
valeryk :
그렇다면:
int a= int (( 0.09 * 5 )/ 0.01 ); double b=a* 0.01 ; Comment ( DoubleToString (b, 2 ));
그런 다음 필요한 0.45 대신 출력에서 0.44를 얻습니다.
WePlexus :
그렇다면:
그런 다음 필요한 0.45 대신 출력에서 0.44를 얻습니다.
int a= int ( MathFloor (( 0.98 )/ 0.001 )); double b=a* 0.001 ; Comment ( DoubleToString (b, 2 ));
valeryk :
0.98이 아니라 0.098입니다. :)
int a = int ( MathFloor (( 0.098 ) / 0.001 )); double b = a * 0.001 ; Comment ( DoubleToString (b, 2 ));
1을 반환하지만 정확한 값 = 0.09를 원했습니다.
Vinin :
그리고 당신은 더 나은 방법을 모릅니다
그리고 당신은 더 나은 방법을 모릅니다
이것이 가장 먼저 떠오른 것입니다. 물론 더 쉬운 것도 있습니다.
그건 그렇고, 이것은 또한 어렵지 않습니다. 아마도 더 느리게 작동합니다.
int DIGITS= 2 ; string stroka= DoubleToString ( 0.09845 , 8 ); int P= StringFind (stroka, "." ); Print (stroka); stroka= StringSubstr (stroka, 0 ,P+DIGITS+ 1 ); Print ( StringToDouble (stroka)); возвращает: 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09 2014.10.04 11:32:53.731 normalize EURUSD,H4: 0.09845000
인사말. 작업에 도움이 필요합니다.
모든 함수는 0.1을 반환합니다. (0.02*4.9) = 0.098이지만 0.09를 반환해야 합니다.
내 계산기가 반환하는 정확한 값을 얻는 방법을 알려주시겠습니까? :)