在C#中, Sign()是一个数学类方法,该方法返回一个整数,该整数指定数字的符号。可以通过如下更改传递的参数的数据类型来重载此方法:
- Math.Sign(Decimal):返回一个整数,该整数指定一个十进制数字的符号。
- Math.Sign(Double):返回一个整数,该整数指定双精度浮点数的符号。
- Math.Sign(Int16):返回一个整数,该整数指定16位有符号整数的符号。这里Int16是short数据类型
- Math.Sign(Int32):返回一个整数,该整数指定32位有符号整数的符号。这里的Int32是int数据类型。
- Math.Sign(Int64):返回一个整数,该整数指定64位有符号整数的符号。这里Int64是long数据类型。
- Math.Sign(SByte):返回一个整数,该整数指定8位有符号整数的符号。
- Math.Sign(Single):返回一个整数,该整数指定单精度浮点数的符号。这里的单数是浮点数据类型。
上述所有方法的通用语法:
public static int Sign(data_type value)
参数:此方法采用一个字节,int,double,sbyte等形式的单个参数。
返回类型:此方法根据以下提到的条件返回System.Int32类型的值:
Return Value | Condition: |
---|---|
0 | If value is equal to zero |
1 | If value is greater than zero |
-1 | If value is lesser than zero |
例子:
// C# program to demonstrate the
// Math.Sign() method
using System;
class GFG {
// Main Method
static void Main(string[] args)
{
// Decimal data type
Decimal de = 150M;
// Double data type
Double d = 34.5432d;
// Int16 data type
short sh = 0;
// Int32 data type
int i = -5678;
// Int64 data type
long l = 598964564;
// SByte data type
sbyte sb = -34;
// float data type
float f = 56.89f;
// displaying result
Console.WriteLine("Decimal: " + de + " " + check(Math.Sign(de)));
Console.WriteLine("Double: " + d + " " + check(Math.Sign(d)));
Console.WriteLine("Int16: " + sh + " " + check(Math.Sign(sh)));
Console.WriteLine("Int32: " + i + " " + check(Math.Sign(i)));
Console.WriteLine("Int64: " + l + " " + check(Math.Sign(l)));
Console.WriteLine("SByte: " + sb + " " + check(Math.Sign(sb)));
Console.WriteLine("Single: " + f + " " + check(Math.Sign(f)));
}
// function to check whether the input
// number is greater than zero or not
public static String check(int compare)
{
if (compare == 0)
return "equal to zero";
else if (compare < 0)
return "less than zero";
else
return "greater than zero";
}
}
输出:
Decimal: 150 greater than zero
Double: 34.5432 greater than zero
Int16: 0 equal to zero
Int32: -5678 less than zero
Int64: 598964564 greater than zero
SByte: -34 less than zero
Single: 56.89 greater than zero