此方法用于将指定的Decimal的值转换为等效的64位带符号整数。用户还可以使用Explicit赋值运算符将Decimal值转换为64位整数。
Syntax: public static long ToInt64 (decimal d);
Here, the value is the decimal number which is to be converted.
Return Value: It returns a 64-bit signed integer equivalent to the specified value.
Exception: This method will give OverflowException if the specified value is less than MinValue or greater than MaxValue.
下面的程序说明了上述方法的用法:
范例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