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

📅  最后修改于: 2021-05-29 14:12:09             🧑  作者: Mango

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

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

范例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