본문 바로가기

C

C# 프로그래밍-나눗셈의 형변환, 오류, 수정

numA / numB 가 3으로 출력되는 오류를 해결하기 위해서 어떻게 해야할까요?

result 를 int형이 아닌 float형으로 하면 되겠지 라고 생각한다면

틀렸습니다.

result 를 float형으로 바꿨다해도 result는 3.0 을 출력하게 될 것입니다.

나눗셈의 오류를 해결하는 방법 첫번째는 아래와 같습니다.

float numA, numB, result;
numA = 7; 
numB = 2;

//자동형변환으로 인해서  numA = 7.0f, numB = 2.0f 로 초기화됨.

result = numA / numB;

print(result);

방법 두번째는 아래와 같습니다. (강제형변환)

int numA, numB;
float result;

numA = 7;
numB = 2;

result = (float)numA / numB;
// result = 7.0f / 2
// result = 7.0f / 2.0f
// result = 3.5f

print(result);

출처 https://youtu.be/_cw4CPPrvjU?list=PL3aflPKr1txL3MdCEAFrwaKUCsiTUcJCk

'C' 카테고리의 다른 글