영어로 읽기

다음을 통해 공유


Decimal.ToInt32(Decimal) 메서드

정의

지정된 Decimal의 값을 해당하는 32비트 부호 있는 정수로 변환합니다.

public static int ToInt32(decimal d);

매개 변수

d
Decimal

변환할 10진수입니다.

반환

d의 값에 해당하는 32비트 부호 있는 정수입니다.

예외

d 이 Int32.MinValue보다 작거나 Int32.MaxValue보다 큽 수 있습니다.

예제

다음 예제에서는 메서드를 ToInt32 사용하여 10진수를 값으로 Int32 변환합니다.

using System;

class Example
{
   public static void Main( )
   {
      decimal[] values = { 123m, new decimal(123000, 0, 0, false, 3),
                           123.999m, 4294967295.999m, 4294967296m,
                           4294967296m, 2147483647.999m, 2147483648m,
                           -0.999m, -1m, -2147483648.999m, -2147483649m };

      foreach (var value in values) {
         try {
            int number = Decimal.ToInt32(value);
            Console.WriteLine("{0} --> {1}", value, number);
         }
         catch (OverflowException e)
         {
             Console.WriteLine("{0}: {1}", e.GetType().Name, value);
         }
      }
   }
}
// The example displays the following output:
//      123 --> 123
//      123.000 --> 123
//      123.999 --> 123
//      OverflowException: 4294967295.999
//      OverflowException: 4294967296
//      OverflowException: 4294967296
//      2147483647.999 --> 2147483647
//      OverflowException: 2147483648
//      -0.999 --> 0
//      -1 --> -1
//      -2147483648.999 --> -2147483648
//      OverflowException: -2147483649

설명

반환 값은 10진수 값의 정수 부분입니다. 소수 자릿수는 잘립니다.

대입 연산자를 Decimal 사용하여 값을 32비트 정수로 변환할 Explicit 수도 있습니다. 연산자는 축소 변환을 수행하므로 C#의 캐스팅 연산자 또는 Visual Basic의 변환 함수를 사용해야 합니다.

적용 대상

제품 버전
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

추가 정보