此方法用于将指定的Decimal的值转换为等效的16位无符号整数。用户还可以使用Explicit赋值运算符将Decimal值转换为16位无符号整数。
Syntax: public static ushort ToUInt16 (decimal value);
Here, the value is the decimal number which is to be converted.
Return Value: It returns a 16-bit unsigned 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.ToUInt16(Decimal) Method
using System;
class GFG {
// Main Method
public static void Main()
{
try {
// Taking decimal variables
Decimal dec1 = 65535.458M;
Decimal dec2 = 32768.256m;
// using Decimal.ToUInt16(Decimal) Method
ushort val1 = Decimal.ToUInt16(dec1);
// using Decimal.ToUInt16(Decimal) Method
ushort val2 = Decimal.ToUInt16(dec2);
// Printing the UInt16 value
Console.WriteLine("The UInt16 value "
+ "is : {0}", val1);
// Printing the UInt16 value
Console.WriteLine("The UInt16 value "
+ "is : {0}", val2);
}
catch (OverflowException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
}
输出:
The UInt16 value is : 65535
The UInt16 value is : 32768
示例2:对于OverflowException
// C# program to demonstrate the
// Decimal.ToUInt16(Decimal) Method
using System;
class GFG {
// Main Method
public static void Main()
{
try {
// Taking decimal variable
// Taking the maximum value
// of Decimal
Decimal dec1 = Decimal.MaxValue;
// using Decimal.ToUInt16(Decimal) Method
// It will give error as Decimal.MaxValue
// value is out of range from UInt16
ushort val1 = Decimal.ToUInt16(dec1);
// Printing the UInt16 value
Console.WriteLine("The UInt16 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.touint16?view=netframework-4.7.2