Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Decimal.ToInt32(Decimal) Metoda

Definicja

Konwertuje wartość określonej Decimal liczby całkowitej z podpisem 32-bitowym.

public static int ToInt32(decimal d);

Parametry

d
Decimal

Liczba dziesiętna, która ma zostać przekształcona.

Zwraca

32-bitowa liczba całkowita z podpisem odpowiada wartości d.

Wyjątki

d wartość jest mniejsza niż Int32.MinValue lub większa niż Int32.MaxValue.

Przykłady

W poniższym przykładzie użyto ToInt32 metody , aby przekonwertować liczby dziesiętne na Int32 wartości.

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

Uwagi

Wartość zwracana jest integralną częścią wartości dziesiętnej; cyfry ułamkowe są obcinane.

Możesz również przekonwertować Decimal wartość na 32-bitową liczbę całkowitą przy użyciu Explicit operatora przypisania. Ponieważ operator wykonuje konwersję zawężającą, musisz użyć operatora rzutowania w języku C# lub funkcji konwersji w Visual Basic.

Dotyczy

Zobacz też