# Math.Sign Method (Double)

Silverlight

Returns a value indicating the sign of a double-precision floating-point number.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

## Syntax

```'Declaration
Public Shared Function Sign ( _
value As Double _
) As Integer
```

#### Parameters

value
Type: System.Double
A signed number.

#### Return Value

Type: System.Int32
A number indicating the sign of value.

Number

Description

-1

value is less than zero.

0

value is equal to zero.

1

value is greater than zero.

## Exceptions

ExceptionCondition
ArithmeticException

value is equal to NaN.

## Examples

The following example demonstrates how to use the Sign method to determine the sign of a Double value and print it to the console.

```
' This example demonstrates Math.Sign()
Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
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 = 0.0F
Dim xDouble1 As Double = 6.0
Dim xDecimal1 As [Decimal] = -7D

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

outputBlock.Text += String.Format("{0}Test the sign of the following types of values:", nl) & vbCrLf
outputBlock.Text += String.Format(str, "Byte   ", xByte1, Test(Math.Sign(xByte1))) & vbCrLf
outputBlock.Text += String.Format(str, "Int16  ", xShort1, Test(Math.Sign(xShort1))) & vbCrLf
outputBlock.Text += String.Format(str, "Int32  ", xInt1, Test(Math.Sign(xInt1))) & vbCrLf
outputBlock.Text += String.Format(str, "Int64  ", xLong1, Test(Math.Sign(xLong1))) & vbCrLf
outputBlock.Text += String.Format(str, "Single ", xSingle1, Test(Math.Sign(xSingle1))) & vbCrLf
outputBlock.Text += String.Format(str, "Double ", xDouble1, Test(Math.Sign(xDouble1))) & vbCrLf
outputBlock.Text += String.Format(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1))) & vbCrLf
'
outputBlock.Text += String.Format("{0}The following type is not CLS-compliant.", nl) & vbCrLf
outputBlock.Text += String.Format(str, "SByte  ", xSbyte1, Test(Math.Sign(xSbyte1))) & vbCrLf
End Sub 'Main
'
Public Shared Function Test(ByVal [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.

```

## Version Information

#### Silverlight

Supported in: 5, 4, 3

#### Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

#### XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

## Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.