Math.Sign Math.Sign Math.Sign Math.Sign Method

定义

返回指示数字符号的整数。Returns an integer that indicates the sign of a number.

重载

Sign(Single) Sign(Single) Sign(Single) Sign(Single)

返回一个整数,该整数表示单精度浮点数字的符号。Returns an integer that indicates the sign of a single-precision floating-point number.

Sign(SByte) Sign(SByte) Sign(SByte) Sign(SByte)

返回一个整数,该整数指示 8 位带符号整数的符号。Returns an integer that indicates the sign of an 8-bit signed integer.

Sign(Int32) Sign(Int32) Sign(Int32) Sign(Int32)

返回表示 32 位带符号整数的整数。Returns an integer that indicates the sign of a 32-bit signed integer.

Sign(Int64) Sign(Int64) Sign(Int64) Sign(Int64)

返回一个整数,该整数指示 64 位带符号整数的符号。Returns an integer that indicates the sign of a 64-bit signed integer.

Sign(Double) Sign(Double) Sign(Double) Sign(Double)

返回一个整数,该整数表示双精度浮点数字的符号。Returns an integer that indicates the sign of a double-precision floating-point number.

Sign(Decimal) Sign(Decimal) Sign(Decimal) Sign(Decimal)

返回表示十进制数符号的整数。Returns an integer that indicates the sign of a decimal number.

Sign(Int16) Sign(Int16) Sign(Int16) Sign(Int16)

返回表示 16 位带符号整数的整数。Returns an integer that indicates the sign of a 16-bit signed integer.

Sign(Single) Sign(Single) Sign(Single) 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 Single Single 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.

异常

示例

下面的示例演示如何使用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("{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)));
    }
//
    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 'Main
   '
   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 'Sample 
'
'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) Sign(SByte) Sign(SByte) 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);
static member Sign : sbyte -> int
Public Shared Function Sign (value As SByte) As Integer

参数

value
SByte SByte SByte 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("{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)));
    }
//
    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 'Main
   '
   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 'Sample 
'
'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) Sign(Int32) Sign(Int32) 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 Int32 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("{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)));
    }
//
    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 'Main
   '
   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 'Sample 
'
'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) Sign(Int64) Sign(Int64) 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 Int64 Int64 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("{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)));
    }
//
    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 'Main
   '
   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 'Sample 
'
'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) Sign(Double) Sign(Double) 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 Double Double 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.

异常

示例

下面的示例演示如何使用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("{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)));
    }
//
    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 'Main
   '
   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 'Sample 
'
'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) Sign(Decimal) Sign(Decimal) 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 Decimal Decimal 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("{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)));
    }
//
    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 'Main
   '
   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 'Sample 
'
'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) Sign(Int16) Sign(Int16) 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 Int16 Int16 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("{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)));
    }
//
    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 'Main
   '
   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 'Sample 
'
'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.

适用于