Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 Double을 정수 값으로 변환하는 방법

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이 발생하므로, 큰 값이 입력될 가능성이 있다면 예외 처리를 함께 고려하는 것이 좋습니다.