2012-10-17 5 views
3

VB.NET에서 정수 나누기를 수행하려고합니다. 즉 나누기 결과의 전체 부분 만 유지하려고합니다.정수 값을 나누는 방법

Dim a, b, c as int32 
a = 3500 
b = 1200 
c = a/b 

이 예제에서는 3을 출력합니다.

어떻게 대신 2을 돌려 보내겠습니까?

답변

5

실제 계산 : 3500/1200 = 2.916

하면 아래와 2에 값을 모집하기 Math.Floor 방법을 사용해야 -

c = Math.Floor(a/b) 

자세한 정보는 MSDN에 사용할 -이 카메라 때문에 Math.Floor

+0

음수가 참여하는 경우에 잘못 (https://stackoverflow.com/questions/3602827/what-is-the-behavior-of-integer-division) 그럴 필요 0으로 반올림하다. – wischi

12

기본 2 구 operators/은 표준 구획이고, \은 다음에 사용됩니다. 두 개의 피연산자의 "정수 지수"를 반환하고 나머지는 ""로 버려야합니다.

결과 :

a/b = 3 
a\b = 2 
+0

'Math.Floor'를 사용하는 것보다 훨씬 낫습니다. 왜냐하면 여기서 VB.NET을 사용하고 있기 때문입니다. – Neolisk

+0

+1 멋진 기능. 그러나'/'또는'\\'를 사용하면 읽기가 쉽지 않고 계산에서 값을 반올림하는 의도는 보이지 않습니다. –

+0

@MarkHall - VB6에 대한 사전 지식없이 C# 및 VB.NET을 배웠습니다. 그리고이 기능은 나에게 놀라운 일이기 때문에 나는 VB.NET에 익숙하지 않다. –

관련 문제