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.

適用対象

こちらもご覧ください