C#에서 double 값을 정수 값으로 변환하려면 Convert.ToInt32() 메서드를 사용합니다. Int32는 32비트 부호 있는(signed) 정수를 나타내며, 변환 시 소수점 이하 값은 가장 가까운 짝수 정수로 반올림(은행원 반올림 방식)됩니다.
변환할 double 값 준비하기
먼저 다음과 같은 double 값이 있다고 가정해 보겠습니다.
double val = 21.34;
Int32로 변환하기
Convert.ToInt32() 메서드를 사용하면 위의 double 값을 Int32 타입의 정수로 손쉽게 변환할 수 있습니다.
int res = Convert.ToInt32(val);
전체 예제 코드
using System;
public class Demo {
public static void Main() {
double val = 21.34;
int res = Convert.ToInt32(val);
Console.WriteLine("Converted double {0} to integer {1} ", val, res);
}
}실행 결과
Converted double 21.34 to integer 21
참고 사항
Convert.ToInt32() 메서드는 소수 첫째 자리를 기준으로 반올림하여 결과를 반환합니다. 만약 반올림 없이 소수점 이하를 단순히 잘라내고 싶다면 명시적 캐스팅인 (int)를 사용할 수 있습니다. 예를 들어 (int)21.99의 결과는 반올림되지 않고 21이 됩니다.
또한 변환하려는 double 값이 Int32의 표현 범위(-2,147,483,648 ~ 2,147,483,647)를 벗어나면 OverflowException이 발생하므로, 큰 값이 입력될 가능성이 있다면 예외 처리를 함께 고려하는 것이 좋습니다.