Decimal.ToSByte(Decimal) Decimal.ToSByte(Decimal) Decimal.ToSByte(Decimal) Decimal.ToSByte(Decimal) Method

定義

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Decimal.ToInt16(Decimal)

指定した Decimal の値を、等価の 8 ビット符号付き整数に変換します。Converts the value of the specified Decimal to the equivalent 8-bit signed integer.

public:
 static System::SByte ToSByte(System::Decimal value);
[System.CLSCompliant(false)]
public static sbyte ToSByte (decimal value);
static member ToSByte : decimal -> sbyte
Public Shared Function ToSByte (value As Decimal) As SByte

パラメーター

value
Decimal Decimal Decimal Decimal

変換する 10 進数。The decimal number to convert.

戻り値

value と等価の 8 ビット符号付き整数。An 8-bit signed integer equivalent to value.

例外

valueMinValue より小さいか MaxValue より大きいです。value is less than MinValue or greater than MaxValue.

次の例ではToSByte 、メソッドを使用してSByte 、10進数を値に変換します。The following example uses the ToSByte method to convert decimal numbers to SByte values.

using System;

class Example
{
   public static void Main( )
   {
      decimal[] values = { 123m, new Decimal(78000, 0, 0, false, 3),
                           78.999m, 255.999m, 256m,             
                           127.999m, 128m, -0.999m,              
                           -1m,  -128.999m, -129m };

      foreach (var value in values) {
         try {
            sbyte number = Decimal.ToSByte(value);
            Console.WriteLine("{0} --> {1}", value, number);       
         }
         catch (OverflowException e)
         {
             Console.WriteLine("{0}: {1}", e.GetType().Name, value);
         }   
      }
   }
}
// The example displays the following output:
//     78 --> 78
//     78.000 --> 78
//     78.999 --> 78
//     OverflowException: 255.999
//     OverflowException: 256
//     127.999 --> 127
//     OverflowException: 128
//     -0.999 --> 0
//     -1 --> -1
//     -128.999 --> -128
//     OverflowException: -129
Module Example
   Public Sub Main()
      Dim values() As Decimal = { 78d, New Decimal(78000, 0, 0, false, 3), 
                                  78.999d, 255.999d, 256d,
                                  127.999d, 128d, -0.999d, 
                                  -1d,  -128.999d, -129d }

      For Each value In values
         Try
            Dim number As SByte = Decimal.ToSByte(value)
            Console.WriteLine("{0} --> {1}", value, number)       
         Catch e As OverflowException
             Console.WriteLine("{0}: {1}", e.GetType().Name, value)
         End Try   
      Next
   End Sub
End Module
' The example displays the following output:
'     78 --> 78
'     78.000 --> 78
'     78.999 --> 78
'     OverflowException: 255.999
'     OverflowException: 256
'     127.999 --> 127
'     OverflowException: 128
'     -0.999 --> 0
'     -1 --> -1
'     -128.999 --> -128
'     OverflowException: -129

注釈

Explicit代入演算子を使用しDecimalて、値を8ビット符号付き整数に変換することもできます。You can also convert a Decimal value to an 8-bit signed integer by using the Explicit assignment operator. 演算子は縮小変換を実行するため、または Visual Basic の変換関数C#でキャスト演算子を使用する必要があります。Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

適用対象

こちらもご覧ください