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

Десятичное число для преобразования.The decimal number to convert.

Возвраты

32-разрядное целое число со знаком, эквивалентное значению d.A 32-bit signed integer equivalent to the value of d.

Исключения

Значение d меньше MinValue или больше MaxValue.d is less than MinValue or greater than MaxValue.

Примеры

В следующем примере ToInt32 метод используется для преобразования десятичных чисел в 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
' 

Комментарии

Возвращаемое значение является неотъемлемой частью десятичного значения; дробные цифры усекаются.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.

Применяется к

Дополнительно