# Math.Sign メソッド

## オーバーロード

 Sign(Single) 単精度浮動小数点数の符号を示す値を返します。Returns an integer that indicates the sign of a single-precision floating-point number. Sign(Int64) 64 ビット符号付き整数の符号を示す正数を返します。Returns an integer that indicates the sign of a 64-bit signed integer. Sign(Int32) 32 ビット符号付き整数の符号を示す整数を返します。Returns an integer that indicates the sign of a 32-bit signed integer. Sign(SByte) 8 ビット符号付き整数の符号を示す整数を返します。Returns an integer that indicates the sign of an 8-bit signed integer. Sign(Double) 倍精度浮動小数点数の符号を示す整数を返します。Returns an integer that indicates the sign of a double-precision floating-point number. Sign(Decimal) 10 進数の符号を示す整数を返します。Returns an integer that indicates the sign of a decimal number. Sign(Int16) 16 ビット符号付き整数の符号を示す整数を返します。Returns an integer that indicates the sign of a 16-bit signed integer.

## Sign(Single)

``````public:
static int Sign(float value);``````
``public static int Sign (float value);``
``static member Sign : single -> int``
``Public Shared Function Sign (value As Single) As Integer``

value
Single

#### 戻り値

Int32

`value` の符号を示す数値 (次の表を参照)。A number that indicates the sign of `value`, as shown in the following table.

-1-1 `value` が 0 未満です。`value` is less than zero.
00 `value` が 0 です。`value` is equal to zero.
11 `value` が 0 より大きい値です。`value` is greater than zero.

#### 例外

`value`NaN が等価です。`value` is equal to NaN.

### 例

``````// This example demonstrates Math.Sign()
using namespace System;
String^ Test( int compare )
{
if ( compare == 0 )
return "equal to";
else
if ( compare < 0 )
return "less than";
else
return "greater than";
}

int main()
{
String^ str = "{0}: {1,3} is {2} zero.";
String^ nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;

// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine( "{0}Test the sign of the following types of values:", nl );
Console::WriteLine( str, "Byte   ", xByte1, Test( Math::Sign( xByte1 ) ) );
Console::WriteLine( str, "Int16  ", xShort1, Test( Math::Sign( xShort1 ) ) );
Console::WriteLine( str, "Int32  ", xInt1, Test( Math::Sign( xInt1 ) ) );
Console::WriteLine( str, "Int64  ", xLong1, Test( Math::Sign( xLong1 ) ) );
Console::WriteLine( str, "Single ", xSingle1, Test( Math::Sign( xSingle1 ) ) );
Console::WriteLine( str, "Double ", xDouble1, Test( Math::Sign( xDouble1 ) ) );
Console::WriteLine( str, "Decimal", xDecimal1, Test( Math::Sign( xDecimal1 ) ) );

//
Console::WriteLine( "{0}The following type is not CLS-compliant.", nl );
Console::WriteLine( str, "SByte  ", xSbyte1, Test( Math::Sign( xSbyte1 ) ) );
}

/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````// This example demonstrates Math.Sign()
using System;

class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte     xByte1    = 0;
short    xShort1   = -2;
int      xInt1     = -3;
long     xLong1    = -4;
float    xSingle1  = 0.0f;
double   xDouble1  = 6.0;
Decimal  xDecimal1 = -7m;

// The following type is not CLS-compliant.
sbyte    xSbyte1   = -101;

Console.WriteLine(\$"{nl}Test the sign of the following types of values:");
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));

Console.WriteLine(\$"{nl}The following type is not CLS-compliant.");
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)));
}

public static string Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````' This example demonstrates Math.Sign()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine

Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

' The following type is not CLS-compliant.
Dim xSbyte1 As SByte = -101

Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not CLS-compliant.", nl)
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)))
End Sub
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte   :   0 is equal to zero.
'Int16  :  -2 is less than zero.
'Int32  :  -3 is less than zero.
'Int64  :  -4 is less than zero.
'Single :   0 is equal to zero.
'Double :   6 is greater than zero.
'Decimal:  -7 is less than zero.
'
'The following type is not CLS-compliant.
'SByte  : -101 is less than zero.
``````

## Sign(Int64)

64 ビット符号付き整数の符号を示す正数を返します。Returns an integer that indicates the sign of a 64-bit signed integer.

``````public:
static int Sign(long value);``````
``public static int Sign (long value);``
``static member Sign : int64 -> int``
``Public Shared Function Sign (value As Long) As Integer``

value
Int64

#### 戻り値

Int32

`value` の符号を示す数値 (次の表を参照)。A number that indicates the sign of `value`, as shown in the following table.

-1-1 `value` が 0 未満です。`value` is less than zero.
00 `value` が 0 です。`value` is equal to zero.
11 `value` が 0 より大きい値です。`value` is greater than zero.

### 例

``````// This example demonstrates Math.Sign()
using namespace System;
String^ Test( int compare )
{
if ( compare == 0 )
return "equal to";
else
if ( compare < 0 )
return "less than";
else
return "greater than";
}

int main()
{
String^ str = "{0}: {1,3} is {2} zero.";
String^ nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;

// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine( "{0}Test the sign of the following types of values:", nl );
Console::WriteLine( str, "Byte   ", xByte1, Test( Math::Sign( xByte1 ) ) );
Console::WriteLine( str, "Int16  ", xShort1, Test( Math::Sign( xShort1 ) ) );
Console::WriteLine( str, "Int32  ", xInt1, Test( Math::Sign( xInt1 ) ) );
Console::WriteLine( str, "Int64  ", xLong1, Test( Math::Sign( xLong1 ) ) );
Console::WriteLine( str, "Single ", xSingle1, Test( Math::Sign( xSingle1 ) ) );
Console::WriteLine( str, "Double ", xDouble1, Test( Math::Sign( xDouble1 ) ) );
Console::WriteLine( str, "Decimal", xDecimal1, Test( Math::Sign( xDecimal1 ) ) );

//
Console::WriteLine( "{0}The following type is not CLS-compliant.", nl );
Console::WriteLine( str, "SByte  ", xSbyte1, Test( Math::Sign( xSbyte1 ) ) );
}

/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````// This example demonstrates Math.Sign()
using System;

class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte     xByte1    = 0;
short    xShort1   = -2;
int      xInt1     = -3;
long     xLong1    = -4;
float    xSingle1  = 0.0f;
double   xDouble1  = 6.0;
Decimal  xDecimal1 = -7m;

// The following type is not CLS-compliant.
sbyte    xSbyte1   = -101;

Console.WriteLine(\$"{nl}Test the sign of the following types of values:");
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));

Console.WriteLine(\$"{nl}The following type is not CLS-compliant.");
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)));
}

public static string Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````' This example demonstrates Math.Sign()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine

Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

' The following type is not CLS-compliant.
Dim xSbyte1 As SByte = -101

Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not CLS-compliant.", nl)
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)))
End Sub
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte   :   0 is equal to zero.
'Int16  :  -2 is less than zero.
'Int32  :  -3 is less than zero.
'Int64  :  -4 is less than zero.
'Single :   0 is equal to zero.
'Double :   6 is greater than zero.
'Decimal:  -7 is less than zero.
'
'The following type is not CLS-compliant.
'SByte  : -101 is less than zero.
``````

## Sign(Int32)

32 ビット符号付き整数の符号を示す整数を返します。Returns an integer that indicates the sign of a 32-bit signed integer.

``````public:
static int Sign(int value);``````
``public static int Sign (int value);``
``static member Sign : int -> int``
``Public Shared Function Sign (value As Integer) As Integer``

value
Int32

#### 戻り値

Int32

`value` の符号を示す数値 (次の表を参照)。A number that indicates the sign of `value`, as shown in the following table.

-1-1 `value` が 0 未満です。`value` is less than zero.
00 `value` が 0 です。`value` is equal to zero.
11 `value` が 0 より大きい値です。`value` is greater than zero.

### 例

``````// This example demonstrates Math.Sign()
using namespace System;
String^ Test( int compare )
{
if ( compare == 0 )
return "equal to";
else
if ( compare < 0 )
return "less than";
else
return "greater than";
}

int main()
{
String^ str = "{0}: {1,3} is {2} zero.";
String^ nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;

// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine( "{0}Test the sign of the following types of values:", nl );
Console::WriteLine( str, "Byte   ", xByte1, Test( Math::Sign( xByte1 ) ) );
Console::WriteLine( str, "Int16  ", xShort1, Test( Math::Sign( xShort1 ) ) );
Console::WriteLine( str, "Int32  ", xInt1, Test( Math::Sign( xInt1 ) ) );
Console::WriteLine( str, "Int64  ", xLong1, Test( Math::Sign( xLong1 ) ) );
Console::WriteLine( str, "Single ", xSingle1, Test( Math::Sign( xSingle1 ) ) );
Console::WriteLine( str, "Double ", xDouble1, Test( Math::Sign( xDouble1 ) ) );
Console::WriteLine( str, "Decimal", xDecimal1, Test( Math::Sign( xDecimal1 ) ) );

//
Console::WriteLine( "{0}The following type is not CLS-compliant.", nl );
Console::WriteLine( str, "SByte  ", xSbyte1, Test( Math::Sign( xSbyte1 ) ) );
}

/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````// This example demonstrates Math.Sign()
using System;

class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte     xByte1    = 0;
short    xShort1   = -2;
int      xInt1     = -3;
long     xLong1    = -4;
float    xSingle1  = 0.0f;
double   xDouble1  = 6.0;
Decimal  xDecimal1 = -7m;

// The following type is not CLS-compliant.
sbyte    xSbyte1   = -101;

Console.WriteLine(\$"{nl}Test the sign of the following types of values:");
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));

Console.WriteLine(\$"{nl}The following type is not CLS-compliant.");
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)));
}

public static string Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````' This example demonstrates Math.Sign()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine

Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

' The following type is not CLS-compliant.
Dim xSbyte1 As SByte = -101

Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not CLS-compliant.", nl)
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)))
End Sub
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte   :   0 is equal to zero.
'Int16  :  -2 is less than zero.
'Int32  :  -3 is less than zero.
'Int64  :  -4 is less than zero.
'Single :   0 is equal to zero.
'Double :   6 is greater than zero.
'Decimal:  -7 is less than zero.
'
'The following type is not CLS-compliant.
'SByte  : -101 is less than zero.
``````

## Sign(SByte)

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

8 ビット符号付き整数の符号を示す整数を返します。Returns an integer that indicates the sign of an 8-bit signed integer.

``````public:
static int Sign(System::SByte value);``````
``````[System.CLSCompliant(false)]
public static int Sign (sbyte value);``````
``````[<System.CLSCompliant(false)>]
static member Sign : sbyte -> int``````
``Public Shared Function Sign (value As SByte) As Integer``

value
SByte

#### 戻り値

Int32

`value` の符号を示す数値 (次の表を参照)。A number that indicates the sign of `value`, as shown in the following table.

-1-1 `value` が 0 未満です。`value` is less than zero.
00 `value` が 0 です。`value` is equal to zero.
11 `value` が 0 より大きい値です。`value` is greater than zero.

### 例

``````// This example demonstrates Math.Sign()
using namespace System;
String^ Test( int compare )
{
if ( compare == 0 )
return "equal to";
else
if ( compare < 0 )
return "less than";
else
return "greater than";
}

int main()
{
String^ str = "{0}: {1,3} is {2} zero.";
String^ nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;

// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine( "{0}Test the sign of the following types of values:", nl );
Console::WriteLine( str, "Byte   ", xByte1, Test( Math::Sign( xByte1 ) ) );
Console::WriteLine( str, "Int16  ", xShort1, Test( Math::Sign( xShort1 ) ) );
Console::WriteLine( str, "Int32  ", xInt1, Test( Math::Sign( xInt1 ) ) );
Console::WriteLine( str, "Int64  ", xLong1, Test( Math::Sign( xLong1 ) ) );
Console::WriteLine( str, "Single ", xSingle1, Test( Math::Sign( xSingle1 ) ) );
Console::WriteLine( str, "Double ", xDouble1, Test( Math::Sign( xDouble1 ) ) );
Console::WriteLine( str, "Decimal", xDecimal1, Test( Math::Sign( xDecimal1 ) ) );

//
Console::WriteLine( "{0}The following type is not CLS-compliant.", nl );
Console::WriteLine( str, "SByte  ", xSbyte1, Test( Math::Sign( xSbyte1 ) ) );
}

/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````// This example demonstrates Math.Sign()
using System;

class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte     xByte1    = 0;
short    xShort1   = -2;
int      xInt1     = -3;
long     xLong1    = -4;
float    xSingle1  = 0.0f;
double   xDouble1  = 6.0;
Decimal  xDecimal1 = -7m;

// The following type is not CLS-compliant.
sbyte    xSbyte1   = -101;

Console.WriteLine(\$"{nl}Test the sign of the following types of values:");
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));

Console.WriteLine(\$"{nl}The following type is not CLS-compliant.");
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)));
}

public static string Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````' This example demonstrates Math.Sign()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine

Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

' The following type is not CLS-compliant.
Dim xSbyte1 As SByte = -101

Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not CLS-compliant.", nl)
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)))
End Sub
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte   :   0 is equal to zero.
'Int16  :  -2 is less than zero.
'Int32  :  -3 is less than zero.
'Int64  :  -4 is less than zero.
'Single :   0 is equal to zero.
'Double :   6 is greater than zero.
'Decimal:  -7 is less than zero.
'
'The following type is not CLS-compliant.
'SByte  : -101 is less than zero.
``````

## Sign(Double)

``````public:
static int Sign(double value);``````
``public static int Sign (double value);``
``static member Sign : double -> int``
``Public Shared Function Sign (value As Double) As Integer``

value
Double

#### 戻り値

Int32

`value` の符号を示す数値 (次の表を参照)。A number that indicates the sign of `value`, as shown in the following table.

-1-1 `value` が 0 未満です。`value` is less than zero.
00 `value` が 0 です。`value` is equal to zero.
11 `value` が 0 より大きい値です。`value` is greater than zero.

#### 例外

`value`NaN が等価です。`value` is equal to NaN.

### 例

``````// This example demonstrates Math.Sign()
using namespace System;
String^ Test( int compare )
{
if ( compare == 0 )
return "equal to";
else
if ( compare < 0 )
return "less than";
else
return "greater than";
}

int main()
{
String^ str = "{0}: {1,3} is {2} zero.";
String^ nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;

// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine( "{0}Test the sign of the following types of values:", nl );
Console::WriteLine( str, "Byte   ", xByte1, Test( Math::Sign( xByte1 ) ) );
Console::WriteLine( str, "Int16  ", xShort1, Test( Math::Sign( xShort1 ) ) );
Console::WriteLine( str, "Int32  ", xInt1, Test( Math::Sign( xInt1 ) ) );
Console::WriteLine( str, "Int64  ", xLong1, Test( Math::Sign( xLong1 ) ) );
Console::WriteLine( str, "Single ", xSingle1, Test( Math::Sign( xSingle1 ) ) );
Console::WriteLine( str, "Double ", xDouble1, Test( Math::Sign( xDouble1 ) ) );
Console::WriteLine( str, "Decimal", xDecimal1, Test( Math::Sign( xDecimal1 ) ) );

//
Console::WriteLine( "{0}The following type is not CLS-compliant.", nl );
Console::WriteLine( str, "SByte  ", xSbyte1, Test( Math::Sign( xSbyte1 ) ) );
}

/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````// This example demonstrates Math.Sign()
using System;

class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte     xByte1    = 0;
short    xShort1   = -2;
int      xInt1     = -3;
long     xLong1    = -4;
float    xSingle1  = 0.0f;
double   xDouble1  = 6.0;
Decimal  xDecimal1 = -7m;

// The following type is not CLS-compliant.
sbyte    xSbyte1   = -101;

Console.WriteLine(\$"{nl}Test the sign of the following types of values:");
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));

Console.WriteLine(\$"{nl}The following type is not CLS-compliant.");
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)));
}

public static string Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````' This example demonstrates Math.Sign()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine

Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

' The following type is not CLS-compliant.
Dim xSbyte1 As SByte = -101

Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not CLS-compliant.", nl)
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)))
End Sub
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte   :   0 is equal to zero.
'Int16  :  -2 is less than zero.
'Int32  :  -3 is less than zero.
'Int64  :  -4 is less than zero.
'Single :   0 is equal to zero.
'Double :   6 is greater than zero.
'Decimal:  -7 is less than zero.
'
'The following type is not CLS-compliant.
'SByte  : -101 is less than zero.
``````

## Sign(Decimal)

10 進数の符号を示す整数を返します。Returns an integer that indicates the sign of a decimal number.

``````public:
static int Sign(System::Decimal value);``````
``public static int Sign (decimal value);``
``static member Sign : decimal -> int``
``Public Shared Function Sign (value As Decimal) As Integer``

value
Decimal

#### 戻り値

Int32

`value` の符号を示す数値 (次の表を参照)。A number that indicates the sign of `value`, as shown in the following table.

-1-1 `value` が 0 未満です。`value` is less than zero.
00 `value` が 0 です。`value` is equal to zero.
11 `value` が 0 より大きい値です。`value` is greater than zero.

### 例

``````// This example demonstrates Math.Sign()
using namespace System;
String^ Test( int compare )
{
if ( compare == 0 )
return "equal to";
else
if ( compare < 0 )
return "less than";
else
return "greater than";
}

int main()
{
String^ str = "{0}: {1,3} is {2} zero.";
String^ nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;

// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine( "{0}Test the sign of the following types of values:", nl );
Console::WriteLine( str, "Byte   ", xByte1, Test( Math::Sign( xByte1 ) ) );
Console::WriteLine( str, "Int16  ", xShort1, Test( Math::Sign( xShort1 ) ) );
Console::WriteLine( str, "Int32  ", xInt1, Test( Math::Sign( xInt1 ) ) );
Console::WriteLine( str, "Int64  ", xLong1, Test( Math::Sign( xLong1 ) ) );
Console::WriteLine( str, "Single ", xSingle1, Test( Math::Sign( xSingle1 ) ) );
Console::WriteLine( str, "Double ", xDouble1, Test( Math::Sign( xDouble1 ) ) );
Console::WriteLine( str, "Decimal", xDecimal1, Test( Math::Sign( xDecimal1 ) ) );

//
Console::WriteLine( "{0}The following type is not CLS-compliant.", nl );
Console::WriteLine( str, "SByte  ", xSbyte1, Test( Math::Sign( xSbyte1 ) ) );
}

/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````// This example demonstrates Math.Sign()
using System;

class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte     xByte1    = 0;
short    xShort1   = -2;
int      xInt1     = -3;
long     xLong1    = -4;
float    xSingle1  = 0.0f;
double   xDouble1  = 6.0;
Decimal  xDecimal1 = -7m;

// The following type is not CLS-compliant.
sbyte    xSbyte1   = -101;

Console.WriteLine(\$"{nl}Test the sign of the following types of values:");
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));

Console.WriteLine(\$"{nl}The following type is not CLS-compliant.");
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)));
}

public static string Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````' This example demonstrates Math.Sign()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine

Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

' The following type is not CLS-compliant.
Dim xSbyte1 As SByte = -101

Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not CLS-compliant.", nl)
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)))
End Sub
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte   :   0 is equal to zero.
'Int16  :  -2 is less than zero.
'Int32  :  -3 is less than zero.
'Int64  :  -4 is less than zero.
'Single :   0 is equal to zero.
'Double :   6 is greater than zero.
'Decimal:  -7 is less than zero.
'
'The following type is not CLS-compliant.
'SByte  : -101 is less than zero.
``````

## Sign(Int16)

16 ビット符号付き整数の符号を示す整数を返します。Returns an integer that indicates the sign of a 16-bit signed integer.

``````public:
static int Sign(short value);``````
``public static int Sign (short value);``
``static member Sign : int16 -> int``
``Public Shared Function Sign (value As Short) As Integer``

value
Int16

#### 戻り値

Int32

`value` の符号を示す数値 (次の表を参照)。A number that indicates the sign of `value`, as shown in the following table.

-1-1 `value` が 0 未満です。`value` is less than zero.
00 `value` が 0 です。`value` is equal to zero.
11 `value` が 0 より大きい値です。`value` is greater than zero.

### 例

``````// This example demonstrates Math.Sign()
using namespace System;
String^ Test( int compare )
{
if ( compare == 0 )
return "equal to";
else
if ( compare < 0 )
return "less than";
else
return "greater than";
}

int main()
{
String^ str = "{0}: {1,3} is {2} zero.";
String^ nl = Environment::NewLine;
Byte xByte1 = 0;
short xShort1 = -2;
int xInt1 = -3;
long xLong1 = -4;
float xSingle1 = 0.0f;
double xDouble1 = 6.0;
Decimal xDecimal1 = -7;

// The following type is not CLS-compliant.
SByte xSbyte1 = -101;
Console::WriteLine( "{0}Test the sign of the following types of values:", nl );
Console::WriteLine( str, "Byte   ", xByte1, Test( Math::Sign( xByte1 ) ) );
Console::WriteLine( str, "Int16  ", xShort1, Test( Math::Sign( xShort1 ) ) );
Console::WriteLine( str, "Int32  ", xInt1, Test( Math::Sign( xInt1 ) ) );
Console::WriteLine( str, "Int64  ", xLong1, Test( Math::Sign( xLong1 ) ) );
Console::WriteLine( str, "Single ", xSingle1, Test( Math::Sign( xSingle1 ) ) );
Console::WriteLine( str, "Double ", xDouble1, Test( Math::Sign( xDouble1 ) ) );
Console::WriteLine( str, "Decimal", xDecimal1, Test( Math::Sign( xDecimal1 ) ) );

//
Console::WriteLine( "{0}The following type is not CLS-compliant.", nl );
Console::WriteLine( str, "SByte  ", xSbyte1, Test( Math::Sign( xSbyte1 ) ) );
}

/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````// This example demonstrates Math.Sign()
using System;

class Sample
{
public static void Main()
{
string str = "{0}: {1,3} is {2} zero.";
string nl = Environment.NewLine;
byte     xByte1    = 0;
short    xShort1   = -2;
int      xInt1     = -3;
long     xLong1    = -4;
float    xSingle1  = 0.0f;
double   xDouble1  = 6.0;
Decimal  xDecimal1 = -7m;

// The following type is not CLS-compliant.
sbyte    xSbyte1   = -101;

Console.WriteLine(\$"{nl}Test the sign of the following types of values:");
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)));
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)));
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)));
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)));
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)));
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)));
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)));

Console.WriteLine(\$"{nl}The following type is not CLS-compliant.");
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)));
}

public static string Test(int compare)
{
if (compare == 0)
return "equal to";
else if (compare < 0)
return "less than";
else
return "greater than";
}
}
/*
This example produces the following results:

Test the sign of the following types of values:
Byte   :   0 is equal to zero.
Int16  :  -2 is less than zero.
Int32  :  -3 is less than zero.
Int64  :  -4 is less than zero.
Single :   0 is equal to zero.
Double :   6 is greater than zero.
Decimal:  -7 is less than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
``````
``````' This example demonstrates Math.Sign()
Class Sample
Public Shared Sub Main()
Dim str As String = "{0}: {1,3} is {2} zero."
Dim nl As String = Environment.NewLine

Dim xByte1 As Byte = 0
Dim xShort1 As Short = -2
Dim xInt1 As Integer = -3
Dim xLong1 As Long = -4
Dim xSingle1 As Single = 0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

' The following type is not CLS-compliant.
Dim xSbyte1 As SByte = -101

Console.WriteLine("{0}Test the sign of the following types of values:", nl)
Console.WriteLine(str, "Byte   ", xByte1, Test(Math.Sign(xByte1)))
Console.WriteLine(str, "Int16  ", xShort1, Test(Math.Sign(xShort1)))
Console.WriteLine(str, "Int32  ", xInt1, Test(Math.Sign(xInt1)))
Console.WriteLine(str, "Int64  ", xLong1, Test(Math.Sign(xLong1)))
Console.WriteLine(str, "Single ", xSingle1, Test(Math.Sign(xSingle1)))
Console.WriteLine(str, "Double ", xDouble1, Test(Math.Sign(xDouble1)))
Console.WriteLine(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1)))
'
Console.WriteLine("{0}The following type is not CLS-compliant.", nl)
Console.WriteLine(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1)))
End Sub
'
Public Shared Function Test([compare] As Integer) As [String]
If [compare] = 0 Then
Return "equal to"
ElseIf [compare] < 0 Then
Return "less than"
Else
Return "greater than"
End If
End Function 'Test
End Class
'
'This example produces the following results:
'
'Test the sign of the following types of values:
'Byte   :   0 is equal to zero.
'Int16  :  -2 is less than zero.
'Int32  :  -3 is less than zero.
'Int64  :  -4 is less than zero.
'Single :   0 is equal to zero.
'Double :   6 is greater than zero.
'Decimal:  -7 is less than zero.
'
'The following type is not CLS-compliant.
'SByte  : -101 is less than zero.
``````