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

📅  最后修改于: 2021-05-29 22:02:45             🧑  作者: Mango

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

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

范例1:

// C# program to demonstrate the
// Decimal.ToUInt64(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Taking decimal variables
            Decimal dec1 = 9223372036854775807.999m;
            Decimal dec2 = 18446744073709551615.784m;
  
            // using Decimal.ToUInt64(Decimal) Method
            ulong val1 = Decimal.ToUInt64(dec1);
  
            // using Decimal.ToUInt64(Decimal) Method
            ulong val2 = Decimal.ToUInt64(dec2);
  
            // Printing the UInt64 value
            Console.WriteLine("The UInt64 value "
                             + "is : {0}", val1);
                                
  
            // Printing the UInt64 value
            Console.WriteLine("The UInt64 value "
                             + "is : {0}", val2);
                                
        }
  
        catch (OverflowException e) {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
输出:
The UInt64 value is : 9223372036854775807
The UInt64 value is : 18446744073709551615

示例2:对于OverflowException

// C# program to demonstrate the
// Decimal.ToUInt64(Decimal) Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Taking the maximum value
            // of Decimal
            Decimal dec1 = Decimal.MaxValue;
  
            // using Decimal.ToUInt64(Decimal) Method
            // It will give error as decimal number
            // is above the range of UInt64
            ulong val1 = Decimal.ToUInt64(dec1);
  
            // Printing the UInt64 value
            Console.WriteLine("The UInt64 value "
                               + "is : {0}",val1);                           
        }
  
        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.touint64?view=netframework-4.7.2