C#

210513 C#_강제 자료형 변환(data type casting)

S_pot 2021. 5. 31. 10:08
  class Program
    {
        static void Main(string[] args)
        {
            long longNumber = 2147483648L + 2147483649L;
            int intNumber = (int)longNumber;  // (int): 강제 자료형 변환(data type casting), longNumber 자료형을 int자료형으로 변환
            Console.WriteLine(intNumber);     // 출력값은 1

            double doubleNumber = 3.64;
            doubleNumber = doubleNumber + 0.5;  // 0.5를 더하면서 반올림하는것과 같은 기능을 한다.
            intNumber = (int)doubleNumber;      // 3.64를 int형으로 캐스팅한다.
            Console.WriteLine(intNumber);       // 결과값은 4가나오고 소수점 이하는 반올림 되지 않고 삭제된다.

            longNumber = intNumber;             // 자동 자료형 변환
            longNumber = (long)intNumber;       // 원래는 이와같이 (long)으로 캐스팅해야 한다.
                                                // 왼쪽 변수가 상대적으로 더 작을 때 자동 형변환이 되지 않는 이유는 기존데이터의 손실이 발생할 수 있기 때문이다.

            // intNumber = int.Parse("헬로 키티"); // 런타임에러가 발생
            Console.WriteLine(intNumber);
            Console.WriteLine("***********");
        }
    }