다음을 통해 공유


Decimal.ToInt32 Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Converts the value of the specified Decimal to the equivalent 32-bit signed integer.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SecuritySafeCriticalAttribute> _
Public Shared Function ToInt32 ( _
    d As Decimal _
) As Integer
[SecuritySafeCriticalAttribute]
public static int ToInt32(
    decimal d
)

Parameters

Return Value

Type: System.Int32
A 32-bit signed integer equivalent to the value of d.

Exceptions

Exception Condition
OverflowException

d is less than Int32.MinValue or greater than Int32.MaxValue.

Remarks

The return value is the integral part of the decimal value; fractional digits are truncated.

Examples

The following code example converts Decimal numbers to Int32 values using the ToInt32 method.

' Example of the Decimal.ToInt32 and Decimal.ToUInt32 methods.

Module Example

   Dim formatter As String = "{0,17}{1,19}{2,19}"

   ' Get the exception type name; remove the namespace prefix.
   Function GetExceptionType(ByVal ex As Exception) As String

      Dim exceptionType As String = ex.GetType().ToString()
      Return exceptionType.Substring( _
          exceptionType.LastIndexOf("."c) + 1)
   End Function

   ' Convert the Decimal argument; catch exceptions that are thrown.
   Sub DecimalToU_Int32(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal argument As Decimal)

      Dim Int32Value As Object
      Dim UInt32Value As Object

      ' Convert the argument to an Integer value.
      Try
         Int32Value = Decimal.ToInt32(argument)
      Catch ex As Exception
         Int32Value = GetExceptionType(ex)
      End Try

      ' Convert the argument to a UInt32 value.
      Try
         UInt32Value = Decimal.ToUInt32(argument)
      Catch ex As Exception
         UInt32Value = GetExceptionType(ex)
      End Try

      outputBlock.Text &= String.Format(formatter, argument, _
          Int32Value, UInt32Value) & vbCrLf
   End Sub

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      outputBlock.Text &= String.Format("This example of the " & vbCrLf & _
          "  Decimal.ToInt32( Decimal ) and " & vbCrLf & _
          "  Decimal.ToUInt32( Decimal ) " & vbCrLf & "methods " & _
          "generates the following output. It " & vbCrLf & _
          "displays several converted Decimal values." & vbCrLf) & vbCrLf
      outputBlock.Text &= String.Format(formatter, "Decimal argument", _
          "Integer/exception", "UInt32/exception") & vbCrLf
      outputBlock.Text &= String.Format(formatter, "----------------", _
          "-----------------", "----------------") & vbCrLf

      ' Convert Decimal values and display the results.
      DecimalToU_Int32(outputBlock, 123D)
      DecimalToU_Int32(outputBlock, New Decimal(123000, 0, 0, False, 3))
      DecimalToU_Int32(outputBlock, 123.999D)
      DecimalToU_Int32(outputBlock, 4294967295.999D)
      DecimalToU_Int32(outputBlock, 4294967296D)
      DecimalToU_Int32(outputBlock, 2147483647.999D)
      DecimalToU_Int32(outputBlock, 2147483648D)
      DecimalToU_Int32(outputBlock, -0.999D)
      DecimalToU_Int32(outputBlock, -1D)
      DecimalToU_Int32(outputBlock, -2147483648.999D)
      DecimalToU_Int32(outputBlock, -2147483649D)
   End Sub
End Module

' This example of the
'   Decimal.ToInt32( Decimal ) and
'   Decimal.ToUInt32( Decimal )
' methods generates the following output. It
' displays several converted Decimal values.
' 
'  Decimal argument  Integer/exception   UInt32/exception
'  ----------------  -----------------   ----------------
'               123                123                123
'           123.000                123                123
'           123.999                123                123
'    4294967295.999  OverflowException         4294967295
'        4294967296  OverflowException  OverflowException
'    2147483647.999         2147483647         2147483647
'        2147483648  OverflowException         2147483648
'            -0.999                  0                  0
'                -1                 -1  OverflowException
'   -2147483648.999        -2147483648  OverflowException
'       -2147483649  OverflowException  OverflowException
// Example of the decimal.ToInt32 and decimal.ToUInt32 methods.
using System;

class Example
{
   const string formatter = "{0,17}{1,19}{2,19}";

   // Get the exception type name; remove the namespace prefix.
   public static string GetExceptionType(Exception ex)
   {
      string exceptionType = ex.GetType().ToString();
      return exceptionType.Substring(
          exceptionType.LastIndexOf('.') + 1);
   }

   // Convert the decimal argument; catch exceptions that are thrown.
   public static void DecimalToU_Int32(System.Windows.Controls.TextBlock outputBlock, decimal argument)
   {
      object Int32Value;
      object UInt32Value;

      // Convert the argument to an int value.
      try
      {
         Int32Value = decimal.ToInt32(argument);
      }
      catch (Exception ex)
      {
         Int32Value = GetExceptionType(ex);
      }

      // Convert the argument to a uint value.
      try
      {
         UInt32Value = decimal.ToUInt32(argument);
      }
      catch (Exception ex)
      {
         UInt32Value = GetExceptionType(ex);
      }

      outputBlock.Text += String.Format(formatter, argument,
          Int32Value, UInt32Value) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      outputBlock.Text += String.Format("This example of the \n" +
          "  decimal.ToInt32( decimal ) and \n" +
          "  decimal.ToUInt32( decimal ) \nmethods " +
          "generates the following output. It \ndisplays " +
          "several converted decimal values.\n") + "\n";
      outputBlock.Text += String.Format(formatter, "decimal argument",
          "int/exception", "uint/exception") + "\n";
      outputBlock.Text += String.Format(formatter, "----------------",
          "-------------", "--------------") + "\n";

      // Convert decimal values and display the results.
      DecimalToU_Int32(outputBlock, 123M);
      DecimalToU_Int32(outputBlock, new decimal(123000, 0, 0, false, 3));
      DecimalToU_Int32(outputBlock, 123.999M);
      DecimalToU_Int32(outputBlock, 4294967295.999M);
      DecimalToU_Int32(outputBlock, 4294967296M);
      DecimalToU_Int32(outputBlock, 2147483647.999M);
      DecimalToU_Int32(outputBlock, 2147483648M);
      DecimalToU_Int32(outputBlock, -0.999M);
      DecimalToU_Int32(outputBlock, -1M);
      DecimalToU_Int32(outputBlock, -2147483648.999M);
      DecimalToU_Int32(outputBlock, -2147483649M);
   }
}

/*
This example of the
  decimal.ToInt32( decimal ) and
  decimal.ToUInt32( decimal )
methods generates the following output. It
displays several converted decimal values.

 decimal argument      int/exception     uint/exception
 ----------------      -------------     --------------
              123                123                123
          123.000                123                123
          123.999                123                123
   4294967295.999  OverflowException         4294967295
       4294967296  OverflowException  OverflowException
   2147483647.999         2147483647         2147483647
       2147483648  OverflowException         2147483648
           -0.999                  0                  0
               -1                 -1  OverflowException
  -2147483648.999        -2147483648  OverflowException
      -2147483649  OverflowException  OverflowException
*/

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.