Math.Sign Yöntem

Tanım

Bir sayının işaretini gösteren bir tamsayı döndürür.

Aşırı Yüklemeler

Sign(IntPtr)

Yerel boyutlu bir imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

Sign(Single)

Tek duyarlıklı kayan noktalı bir sayının işaretini gösteren bir tamsayı döndürür.

Sign(SByte)

8 bit imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

Sign(Int64)

64 bit imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

Sign(Decimal)

Ondalık bir sayının işaretini gösteren bir tamsayı döndürür.

Sign(Int16)

16 bit imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

Sign(Double)

Çift duyarlıklı kayan nokta sayısının işaretini gösteren bir tamsayı döndürür.

Sign(Int32)

32 bit imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

Sign(IntPtr)

Yerel boyutlu bir imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
IntPtr

nint

nativeint

İşaretli bir sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.

Örnekler

Aşağıdaki örnekte, bir IntPtr değerin işaretini belirlemek ve konsolda Sign(IntPtr) görüntülemek için yönteminin nasıl kullanılacağı gösterilmektedir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater than zero.
//    
//     The following type is not CLS-compliant.
//     SByte  : -101 is less than zero.

Şunlara uygulanır

Sign(Single)

Tek duyarlıklı kayan noktalı bir sayının işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
Single

İşaretli bir sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.

Özel durumlar

valueNaNeşittir.

Örnekler

Aşağıdaki örnekte, bir Single değerin işaretini belirlemek ve konsolda Sign(Single) görüntülemek için yönteminin nasıl kullanılacağı gösterilmektedir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater 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.

Şunlara uygulanır

Sign(SByte)

Önemli

Bu API, CLS uyumlu değildir.

8 bit imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
SByte

İşaretli bir sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.
Öznitelikler

Örnekler

Aşağıdaki örnekte, bir SByte değerin işaretini belirlemek ve konsolda Sign(SByte) görüntülemek için yönteminin nasıl kullanılacağı gösterilmektedir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater 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.

Şunlara uygulanır

Sign(Int64)

64 bit imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
Int64

İşaretli bir sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.

Örnekler

Aşağıdaki örnekte, bir Int64 değerin işaretini belirlemek ve konsolda Sign(Int64) görüntülemek için yönteminin nasıl kullanılacağı gösterilmektedir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater 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.

Şunlara uygulanır

Sign(Decimal)

Ondalık bir sayının işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
Decimal

İmzalı ondalık sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.

Örnekler

Aşağıdaki örnekte, bir Decimal değerin işaretini belirlemek ve konsolda Sign(Decimal) görüntülemek için yönteminin nasıl kullanılacağı gösterilmektedir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater 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.

Şunlara uygulanır

Sign(Int16)

16 bit imzalı tamsayı işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
Int16

İşaretli bir sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.

Örnekler

Aşağıdaki örnekte, bir Int16 değerin işaretini belirlemek ve konsolda Sign(Int16) görüntülemek için yönteminin nasıl kullanılacağı gösterilmektedir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater 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.

Şunlara uygulanır

Sign(Double)

Çift duyarlıklı kayan nokta sayısının işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
Double

İşaretli bir sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.

Özel durumlar

valueNaNeşittir.

Örnekler

Aşağıdaki örnekte, bir Double değerin işaretini belirlemek ve konsolda Sign(Double) görüntülemek için yönteminin nasıl kullanılacağı gösterilmektedir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater 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.

Şunlara uygulanır

Sign(Int32)

32 bit işaretli tamsayı işaretini gösteren bir tamsayı döndürür.

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

Parametreler

value
Int32

İşaretli bir sayı.

Döndürülenler

Aşağıdaki tabloda gösterildiği gibi işaretini valuegösteren bir sayıdır.

Döndürülen değer Anlamı
-1value, sıfırdan küçüktür.
0value sıfıra eşittir.
1value sıfırdan büyük.

Örnekler

Aşağıdaki örnek, bir Int32 değerin işaretini belirlemek ve konsolda Sign(Int32) görüntülemek için yönteminin nasıl kullanılacağını gösterir.

// 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;
        nint     xIntPtr1  = 8;

        // 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(str, "IntPtr", xIntPtr1, Test(Math.Sign(xIntPtr1)));

        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.
IntPtr:    8 is greater than zero.

The following type is not CLS-compliant.
SByte  : -101 is less than zero.
*/
// This example demonstrates Math.Sign()
// In F#, the sign function may be used instead
open System

let test = function
    | 0 ->
        "equal to"
    | x when x < 0 ->
        "less than"
    | _ ->
        "greater than"

let print typ a b = 
    printfn $"{typ}: {a,3} is {b} zero."

let xByte1    = 0uy
let xShort1   = -2s
let xInt1     = -3
let xLong1    = -4L
let xSingle1  = 0f
let xDouble1  = 6.
let xDecimal1 = -7m
let xIntPtr1  = 8

// The following type is not CLS-compliant.
let xSbyte1   = -101y

printfn "\nTest the sign of the following types of values:"
print "Byte   " xByte1 (test (Math.Sign xByte1))
print "Int16  " xShort1 (test (Math.Sign xShort1))
print "Int32  " xInt1 (test (Math.Sign xInt1))
print "Int64  " xLong1 (test (Math.Sign xLong1))
print "Single " xSingle1 (test (Math.Sign xSingle1))
print "Double " xDouble1 (test (Math.Sign xDouble1))
print "Decimal" xDecimal1 (test (Math.Sign xDecimal1))
print "IntPtr"  xIntPtr1 (test (Math.Sign xIntPtr1))

printfn "\nThe following type is not CLS-compliant."
print "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.
//     IntPtr:    8 is greater 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.

Şunlara uygulanır