📅  最后修改于: 2023-12-03 15:00:16.706000             🧑  作者: Mango
在 C# 中,Decimal 是一种用于表示精度高的小数的数据类型。Decimal.ToUInt64() 方法可以将 Decimal 类型的变量转换为无符号 64 位整数类型 UInt64。
public static ulong ToUInt64(decimal value);
value
:Decimal 类型,要转换为 UInt64 的值。一个无符号 64 位整数类型 UInt64,表示 Decimal 类型的值的截断整数部分。
OverflowException
:如果转换后的值超出了 UInt64 类型的表示范围。using System;
class Example
{
static void Main()
{
decimal d = 18446744073709551615.5m; // Decimal 最大值
try
{
ulong l = Decimal.ToUInt64(d);
Console.WriteLine("转换成功,无符号 64 位整数值为 {0}.", l);
}
catch (OverflowException)
{
Console.WriteLine("OverflowException: 转换的值超出了 UInt64 类型的表示范围。");
}
}
}
上面示例代码的输出结果是:
OverflowException: 转换的值超出了 UInt64 类型的表示范围。
在示例中,我们创建了 Decimal 最大值,其值为 18446744073709551615.5m
,超出了 UInt64 类型的表示范围,所以在 ToUInt64() 方法中执行转换时,会抛出 OverflowException 异常。
Decimal.ToUInt64() 方法可以将 Decimal 类型的变量转换为无符号 64 位整数类型 UInt64。转换前需要注意转换后的值是否超出 UInt64 类型的表示范围,否则抛出 OverflowException 异常。