Math.Sign Method (Single)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Returns a value indicating the sign of a single-precision floating-point number.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.Single
A signed number.
Return Value
Type: System.Int32A 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. |
| Exception | Condition |
|---|---|
| ArithmeticException | value is equal to NaN. |
The following example demonstrates how to use the Sign method to determine the sign of a Single value and print it to the console.
// This example demonstrates Math.Sign() using System; class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { 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; outputBlock.Text += String.Format("{0}Test the sign of the following types of values:", nl) + "\n"; outputBlock.Text += String.Format(str, "Byte ", xByte1, Test(Math.Sign(xByte1))) + "\n"; outputBlock.Text += String.Format(str, "Int16 ", xShort1, Test(Math.Sign(xShort1))) + "\n"; outputBlock.Text += String.Format(str, "Int32 ", xInt1, Test(Math.Sign(xInt1))) + "\n"; outputBlock.Text += String.Format(str, "Int64 ", xLong1, Test(Math.Sign(xLong1))) + "\n"; outputBlock.Text += String.Format(str, "Single ", xSingle1, Test(Math.Sign(xSingle1))) + "\n"; outputBlock.Text += String.Format(str, "Double ", xDouble1, Test(Math.Sign(xDouble1))) + "\n"; outputBlock.Text += String.Format(str, "Decimal", xDecimal1, Test(Math.Sign(xDecimal1))) + "\n"; // outputBlock.Text += String.Format("{0}The following type is not CLS-compliant.", nl) + "\n"; outputBlock.Text += String.Format(str, "SByte ", xSbyte1, Test(Math.Sign(xSbyte1))) + "\n"; } // 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. */
Show: