Math.Sign 方法

定義

傳回整數,表示數字的正負號。Returns an integer that indicates the sign of a number.

多載

Sign(Single)

傳回整數,表示單精確度浮點數的正負號。Returns an integer that indicates the sign of a single-precision floating-point number.

Sign(SByte)

傳回整數,表示 8 位元帶正負號整數的正負號。Returns an integer that indicates the sign of an 8-bit signed integer.

Sign(Int32)

傳回整數,這個整數表示 32 位元帶正負號整數的正負號。Returns an integer that indicates the sign of a 32-bit signed integer.

Sign(Int64)

傳回整數,表示 64 位元帶正負號整數的正負號。Returns an integer that indicates the sign of a 64-bit signed integer.

Sign(Double)

傳回整數,表示雙精確度浮點數的正負號。Returns an integer that indicates the sign of a double-precision floating-point number.

Sign(Decimal)

傳回整數,這個整數表示十進位數字的正負號。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)

傳回整數,表示單精確度浮點數的正負號。Returns an integer that indicates the sign of a single-precision floating-point number.

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

帶正負號的數字。A signed number.

傳回

表示 value 正負符號的數字,如下表所示。A number that indicates the sign of value, as shown in the following table.

傳回值Return value 意義Meaning
-1-1 value 小於零。value is less than zero.
00 value 等於零。value is equal to zero.
11 value 大於零。value is greater than zero.

例外狀況

value 等於 NaNvalue is equal to NaN.

範例

下列範例示範如何使用 Sign(Single) 方法來判斷 Single 值的正負號,並將其顯示在主控台中。The following example demonstrates how to use the Sign(Single) method to determine the sign of a Single value and display it to the console.

// 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);
public static int Sign (sbyte value);
static member Sign : sbyte -> int
Public Shared Function Sign (value As SByte) As Integer

參數

value
SByte

帶正負號的數字。A signed number.

傳回

表示 value 正負符號的數字,如下表所示。A number that indicates the sign of value, as shown in the following table.

傳回值Return value 意義Meaning
-1-1 value 小於零。value is less than zero.
00 value 等於零。value is equal to zero.
11 value 大於零。value is greater than zero.
屬性

範例

下列範例示範如何使用 Sign(SByte) 方法來判斷 SByte 值的正負號,並將其顯示在主控台中。The following example demonstrates how to use the Sign(SByte) method to determine the sign of an SByte value and display it to the console.

// 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

帶正負號的數字。A signed number.

傳回

表示 value 正負符號的數字,如下表所示。A number that indicates the sign of value, as shown in the following table.

傳回值Return value 意義Meaning
-1-1 value 小於零。value is less than zero.
00 value 等於零。value is equal to zero.
11 value 大於零。value is greater than zero.

範例

下列範例示範如何使用 Sign(Int32) 方法來判斷 Int32 值的正負號,並將其顯示在主控台中。The following example demonstrates how to use the Sign(Int32) method to determine the sign of an Int32 value and display it to the console.

// 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

帶正負號的數字。A signed number.

傳回

表示 value 正負符號的數字,如下表所示。A number that indicates the sign of value, as shown in the following table.

傳回值Return value 意義Meaning
-1-1 value 小於零。value is less than zero.
00 value 等於零。value is equal to zero.
11 value 大於零。value is greater than zero.

範例

下列範例示範如何使用 Sign(Int64) 方法來判斷 Int64 值的正負號,並將其顯示在主控台中。The following example demonstrates how to use the Sign(Int64) method to determine the sign of an Int64 value and display it to the console.

// 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)

傳回整數,表示雙精確度浮點數的正負號。Returns an integer that indicates the sign of a double-precision floating-point number.

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

帶正負號的數字。A signed number.

傳回

表示 value 正負符號的數字,如下表所示。A number that indicates the sign of value, as shown in the following table.

傳回值Return value 意義Meaning
-1-1 value 小於零。value is less than zero.
00 value 等於零。value is equal to zero.
11 value 大於零。value is greater than zero.

例外狀況

value 等於 NaNvalue is equal to NaN.

範例

下列範例示範如何使用 Sign(Double) 方法來判斷 Double 值的正負號,並將其顯示在主控台中。The following example demonstrates how to use the Sign(Double) method to determine the sign of a Double value and display it to the console.

// 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)

傳回整數,這個整數表示十進位數字的正負號。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

帶正負號的十進位數值。A signed decimal number.

傳回

表示 value 正負符號的數字,如下表所示。A number that indicates the sign of value, as shown in the following table.

傳回值Return value 意義Meaning
-1-1 value 小於零。value is less than zero.
00 value 等於零。value is equal to zero.
11 value 大於零。value is greater than zero.

範例

下列範例示範如何使用 Sign(Decimal) 方法來判斷 Decimal 值的正負號,並將其顯示在主控台中。The following example demonstrates how to use the Sign(Decimal) method to determine the sign of a Decimal value and display it to the console.

// 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

帶正負號的數字。A signed number.

傳回

表示 value 正負符號的數字,如下表所示。A number that indicates the sign of value, as shown in the following table.

傳回值Return value 意義Meaning
-1-1 value 小於零。value is less than zero.
00 value 等於零。value is equal to zero.
11 value 大於零。value is greater than zero.

範例

下列範例示範如何使用 Sign(Int16) 方法來判斷 Int16 值的正負號,並將其顯示在主控台中。The following example demonstrates how to use the Sign(Int16) method to determine the sign of an Int16 value and display it to the console.

// 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.

適用於