2011-04-12 5 views

답변

0

표준 모듈러스 연산자 %를 사용하는 데 문제가 있습니까?

double c = a%b; 
+2

예,이'행 4 : 오류 : 유형 '더블'의 유효하지 않은 피연산자 진 '운영자 %'에서 '더블'' –

+2

MSDN은 동의 - http://msdn.microsoft.com/en-us/ library/0w4e0fzs.aspx 나는 C#에서 많은 것을 배웠고, 여러 번 배수로 사용했다. – tamarintech

+0

죄송합니다. 태그를 잘못 읽고 C++ 질문이라고 생각했습니다. –

1

Theres는 아마 어딘가에 기능을하지만, 다음과 동등 간단하다 :

a - b*(Math.Floor(a/b)) 

된 C에서

math.ha % b의 기능 fmod 있습니다. C#에서도 사용하도록 허용할까요? 나는 어느 쪽이든을 모른다.

PS - 당신은 % 운영자 나던 작업 확신?

0
float x = 5.1F; 
    float y = 2.3F; 
    float t = x % y;     
1

플로트/더블은 이 아니므로 정확한 값은이므로 % 운영자는 일관되게 작동하지 않습니다. 대신 계수 연산자가 실수로 작동하게하려면 decimal을 사용하십시오.

decimal a, b c; 
a = 32.3M; 
b = 3.23M; 

c = a % b; //c should be zero. 

편집

확인 Avoid modulus operator with types float and double 섹션은 MSDN (페이지의 아래).