Decimal.ToInt32(Decimal) Decimal.ToInt32(Decimal) Decimal.ToInt32(Decimal) Decimal.ToInt32(Decimal) Method

정의

지정된 Decimal의 값을 해당하는 32비트 부호 있는 정수로 변환합니다.Converts the value of the specified Decimal to the equivalent 32-bit signed integer.

public:
 static int ToInt32(System::Decimal d);
public static int ToInt32 (decimal d);
static member ToInt32 : decimal -> int
Public Shared Function ToInt32 (d As Decimal) As Integer

매개 변수

d
Decimal Decimal Decimal Decimal

변환할 10진수입니다.The decimal number to convert.

반환

d의 값에 해당하는 32비트 부호 있는 정수입니다.A 32-bit signed integer equivalent to the value of d.

예외

dMinValue보다 작거나 MaxValue보다 큽니다.d is less than MinValue or greater than MaxValue.

예제

다음 예제에서는 합니다 ToInt32 10 진수 숫자를 변환 하는 방법 Int32 값입니다.The following example uses the ToInt32 method to convert decimal numbers to Int32 values.

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
Module Example
   Public Sub Main()
      Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3), 
                                  123.999d, 4294967295.999d, 4294967296d,
                                  4294967296d, 2147483647.999d, 2147483648d, 
                                  -0.999d, -1d, -2147483648.999d, -2147483649d }

      For Each value In values
         Try
            Dim number As Integer = Decimal.ToInt32(value)
            Console.WriteLine("{0} --> {1}", value, number)       
         Catch e As OverflowException
             Console.WriteLine("{0}: {1}", e.GetType().Name, value)
         End Try   
      Next
   End Sub
End Module
' 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 진수 값의 정수 부분을 소수 자릿수는 잘립니다.The return value is the integral part of the decimal value; fractional digits are truncated.

변환할 수도 있습니다는 Decimal 값을 사용 하 여 32 비트 정수로 Explicit 대입 연산자입니다.You can also convert a Decimal value to a 32-bit integer by using the Explicit assignment operator. 축소 변환을 수행 하는 연산자, 때문에 캐스팅 연산자를 C# 또는 Visual Basic의 변환 함수를 사용 해야 합니다.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

적용 대상

추가 정보