# Decimal.ToInt32(Decimal) メソッド

## 定義

``````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

#### 戻り値

`d` の値と等価の 32 ビット符号付き整数。A 32-bit signed integer equivalent to the value of `d`.

#### 例外

`d`MinValue 未満であるか、MaxValue を超えています。`d` is less than MinValue or greater than MaxValue.

## 例

``````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
'
``````

## 注釈

Explicit 代入演算子を使用して、Decimal 値を32ビット整数に変換することもできます。You can also convert a Decimal value to a 32-bit integer by using the Explicit assignment operator. 演算子は縮小変換を実行するため、または Visual Basic の変換関数C#でキャスト演算子を使用する必要があります。Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.