此方法用于将指定的Decimal的值转换为等效的32位无符号整数。用户还可以使用Explicit赋值运算符将Decimal值转换为32位无符号整数。
Syntax: public static uint ToUInt32 (decimal d);
Here, the d is the decimal number which is to be converted.
Return Value: It returns a 32-bit unsigned integer equivalent to the specified d.
Exception: This method will give OverflowException if the d is negative or greater than MaxValue.
下面的程序说明了上述方法的用法:
范例1:
// C# program to demonstrate the
// Decimal.ToUInt32(Decimal) Method
using System;
class GFG {
// Main Method
public static void Main()
{
try {
// Taking decimal variables
Decimal dec1 = 2147483647M;
Decimal dec2 = 4294967295.784m;
// using Decimal.ToUInt32(Decimal) Method
uint val1 = Decimal.ToUInt32(dec1);
// using Decimal.ToUInt32(Decimal) Method
uint val2 = Decimal.ToUInt32(dec2);
// Printing the UInt32 value
Console.WriteLine("The UInt32 value "
+ "is : {0}", val1);
// Printing the UInt32 value
Console.WriteLine("The UInt32 value "
+ "is : {0}",val2);
}
catch (OverflowException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
The UInt32 value is : 2147483647
The UInt32 value is : 4294967295
示例2:对于OverflowException
// C# program to demonstrate the
// Decimal.ToUInt32(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.ToUInt32(Decimal) Method
// It will give error as decimal number
// is above the range of UInt32
uint val1 = Decimal.ToUInt32(dec1);
// Printing the UInt32 value
Console.WriteLine("The UInt32 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.touint32?view=netframework-4.7.2