英語で読む

次の方法で共有


Decimal.ToInt32(Decimal) メソッド

定義

指定した Decimal の値を、等価の 32 ビット符号付き整数に変換します。

public static int ToInt32(decimal d);

パラメーター

d
Decimal

変換する 10 進数。

戻り値

d の値と等価の 32 ビット符号付き整数。

例外

dInt32.MinValue より小さいか、 Int32.MaxValue より大きい。

次の例では、 メソッドを ToInt32 使用して 10 進数を値に Int32 変換します。

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

注釈

戻り値は、10 進値の整数部分です。小数部の数字は切り捨てられます。

代入演算子を Decimal 使用して、値を 32 ビット整数に Explicit 変換することもできます。 演算子は縮小変換を実行するため、C# ではキャスト演算子、Visual Basic では変換関数を使用する必要があります。

適用対象

こちらもご覧ください