📜  C#| Math.Sign()方法

📅  最后修改于: 2021-05-29 23:13:19             🧑  作者: Mango

在C#中, Sign()是一个数学类方法,该方法返回一个整数,该整数指定数字的符号。可以通过如下更改传递的参数的数据类型来重载此方法:

  • Math.Sign(Decimal):返回一个整数,该整数指定一个十进制数字的符号。
  • Math.Sign(Double):返回一个整数,该整数指定双精度浮点数的符号。
  • Math.Sign(Int16):返回一个整数,该整数指定16位有符号整数的符号。这里Int16short数据类型
  • Math.Sign(Int32):返回一个整数,该整数指定32位有符号整数的符号。这里的Int32int数据类型。
  • Math.Sign(Int64):返回一个整数,该整数指定64位有符号整数的符号。这里Int64long数据类型。
  • 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