📜  C#中的Decimal.ToInt32()方法

📅  最后修改于: 2021-05-29 20:08:21             🧑  作者: Mango

此方法用于将指定的Decimal的值转换为等效的32位带符号整数。用户还可以使用Explicit赋值运算符将Decimal值转换为32位整数。

下面的程序说明了上述方法的用法:

范例1:

// C# program to demonstrate the
// Decimal.ToInt32(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Taking decimal variables
            Decimal dec1 = 2147483647M;
            Decimal dec2 = 21458565.2996m;
  
            // using Decimal.ToInt32(Decimal) Method
            // Here int means Int32
            int val1 = Decimal.ToInt32(dec1);
              
            // using Decimal.ToInt32(Decimal) Method
            // Here int means Int32
            int val2 = Decimal.ToInt32(dec2);
              
  
            // Printing the Int32 value
            Console.WriteLine("The Int32 value "
                            + "is : {0}", val1);
                                  
            // Printing the Int32 value
            Console.WriteLine("The Int32 value "
                            + "is : {0}", val2);
                          
        }
  
        catch (OverflowException e) 
        {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
输出:
The Int32 value is : 2147483647
The Int32 value is : 21458565

示例2:对于OverflowException

// C# program to demonstrate the
// Decimal.ToInt32(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Taking decimal variables
            // taking a decimal number 
            // above the range of Int32
            Decimal dec1 = 2147483648M;
              
            // Taking the maximum value 
            // of Decimal
            Decimal dec2 = Decimal.MaxValue;
  
            // using Decimal.ToInt32(Decimal) Method
            // Here int means Int32
            // It will give error as decimal number 
            // is above the range of Int32
            int val1 = Decimal.ToInt32(dec1);
              
            // using Decimal.ToInt32(Decimal) Method
            // Here int means Int32
            // It will give error as Decimal.MaxValue
            // value is out of range from Int32
            int val2 = Decimal.ToInt32(dec2);
              
  
            // Printing the Int32 value
            Console.WriteLine("The Int32 value "
                            + "is : {0}", val1);
                                  
            // Printing the Int32 value
            Console.WriteLine("The Int32 value "
                            + "is : {0}", val2);
                          
        }
  
        catch (OverflowException e) 
        {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
输出:
Exception Thrown: System.OverflowException

参考:

  • https://docs.microsoft.com/zh-cn/dotnet/api/system.decimal.toint32?view=netframework-4.7.2