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

📅  最后修改于: 2021-05-29 19:27:37             🧑  作者: Mango

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

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

范例1:

// C# program to demonstrate the
// Decimal.ToSByte() Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // Taking decimal variables
            Decimal dec1 = 127.5555M;
            Decimal dec2 = 04.2996m;
  
            // using Decimal.ToSByte(Decimal) Method
            sbyte val1 = Decimal.ToSByte(dec1);
  
            // using Decimal.ToSByte(Decimal) Method
            sbyte val2 = Decimal.ToSByte(dec2);
  
            // Printing the SByte value
            Console.WriteLine("The SByte value "
                             + "is : {0}", val1);
                                
  
            // Printing the SByte value
            Console.WriteLine("The SByte value "
                             + "is : {0}",val2);
                                
        }
  
        catch (OverflowException e) 
        {
            Console.Write("Exception Thrown: ");
            Console.Write("{0}", e.GetType(), e.Message);
        }
    }
}
输出:
The SByte value is : 127
The SByte value is : 4

范例2:

// C# program to demonstrate the
// Decimal.ToSByte() Method
using System;
  
class GFG {
  
    // Main Method
    public static void Main()
    {
        try {
  
            // taking a decimal number
            // above the range of SByte
            Decimal dec1 = 129M;
  
            // Taking the maximum value
            // of Decimal
            Decimal dec2 = Decimal.MaxValue;
  
            // using Decimal.ToSByte(Decimal) Method
            // It will give error as decimal number
            // is above the range of SByte
            sbyte val1 = Decimal.ToSByte(dec1);
  
            // using Decimal.SByte(Decimal) Method
            // It will give error as Decimal.MaxValue
            // value is out of range from SByte
            int val2 = Decimal.ToSByte(dec2);
  
            // Printing the SByte value
            Console.WriteLine("The SByte value "
                              + "is : {0}",val1);
                                
  
            // Printing the SByte value
            Console.WriteLine("The SByte value "
                           + "is : {0}",  val2);
                              
        }
  
        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.tosbyte?view=netcore-2.2