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