프로그래밍 노트

C# 실수를 정수로 바꾸기 double -> int 본문

C#/기초

C# 실수를 정수로 바꾸기 double -> int

떡잎 2020. 3. 3. 20:51

C#에서 실수(double)를 정수(int)로 바꾸는 방법은 아래 2가지 방법이 있다.

어떤 방법을 쓰냐에 따라 반올림이 되거나 버림이 된다.

using System; 

namespace mathTest
{
    class Program
    {
        static void Main(string[] args)
        {
            double dValue1 = 234.567;
            int iValue1 = 0;
            int iValue2 = 0;

            iValue1 = Convert.ToInt32(dValue1);
            iValue2 = (int)dValue1;

            Console.WriteLine("Convert.ToInt32(" + dValue1 + ") -> " + iValue1 + " 반올림");
            Console.WriteLine("           (int)" + dValue1 + "  -> " + iValue2 + "   버림");

            Console.WriteLine();
            
            Console.ReadLine();
        }
    }
}

실수를 정수로 바꿀 때 반올림이 되는지 버림이 되는지 잘 모르는 경우는

차라리 명시적으로 Math.Ceiling(올림), Math.Round(반올림), Math.Truncate(버림) 을 사용하는 것이 좋을 수도 있다.

 

double은 int보다 변수의 범위가 크므로 int보다 큰 수를 변환하면 예외처리가 되므로 주의가 필요하다.

 

<참고링크>

C# 올림, 반올림, 버림 함수/지정 소수점 자리 이하 올림, 반올림, 버림 함수 만들기

 

Comments