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

📅  最后修改于: 2021-05-29 15:00:18             🧑  作者: Mango

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

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

范例1:

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

示例2:对于OverflowException

// C# program to demonstrate the
// Decimal.ToInt64(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Taking decimal variables
            Decimal dec1 = Decimal.MinValue;
              
            // Taking the maximum value 
            // of Decimal
            Decimal dec2 = Decimal.MaxValue;
  
            // using Decimal.ToInt64(Decimal) Method
            // Here long means Int64
            // It will give error
            long val1 = Decimal.ToInt64(dec1);
              
            // using Decimal.ToInt64(Decimal) Method
            // Here long means Int64
            // It will give error
            long val2 = Decimal.ToInt64(dec2);
              
  
            // Printing the Int64 value
            Console.WriteLine("The Int64 value "
                            + "is : {0}", val1);
                                  
            // Printing the Int64 value
            Console.WriteLine("The Int64 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.toint64?view=netframework-4.7.2