Decimal.Compare(Decimal, Decimal) Decimal.Compare(Decimal, Decimal) Decimal.Compare(Decimal, Decimal) Decimal.Compare(Decimal, Decimal) Method

定義

比較兩個指定的 Decimal 值。Compares two specified Decimal values.

public:
 static int Compare(System::Decimal d1, System::Decimal d2);
public static int Compare (decimal d1, decimal d2);
static member Compare : decimal * decimal -> int
Public Shared Function Compare (d1 As Decimal, d2 As Decimal) As Integer

參數

d1
Decimal Decimal Decimal Decimal

要比較的第一個值。The first value to compare.

d2
Decimal Decimal Decimal Decimal

要比較的第二個值。The second value to compare.

傳回

帶正負號的數字,該數字表示 d1d2 的相對值。A signed number indicating the relative values of d1 and d2.

傳回值Return value 意義Meaning
小於零Less than zero d1 小於 d2d1 is less than d2.
Zero d1d2 相等。d1 and d2 are equal.
大於零Greater than zero d1 大於 d2d1 is greater than d2.

範例

下列範例會比較數Decimal個值。The following example compares several Decimal values. 請注意,即使在value2變數上執行減法運算,第一個比較也會指出兩個值相等。Note that the first comparison indicates that the two values are equal despite the subtraction operation performed on the value2 variable. 這是因為Decimal類型的有效位數為29個,而這兩個值之間的差異只能以30位數的精確度來偵測。This is because the Decimal type has 29 digits of precision, whereas a difference between these two values can be detected only with 30 digits of precision.

using System;

public enum Relationship
{  LessThan = -1, Equals = 0, GreaterThan = 1 }

public class Example
{
   public static void Main()
   {
      decimal value1 = Decimal.MaxValue;
      decimal value2 = value1 - .01m;
      Console.WriteLine("{0} {2} {1}", value1, value2, 
                        (Relationship) Decimal.Compare(value1, value2));   
   
      value2 = value1 / 12m - .1m;
      value1 = value1 / 12m;
      Console.WriteLine("{0} {2} {1}", value1, value2, 
                        (Relationship) Decimal.Compare(value1, value2));   
   
      value1 = value1 - .2m;
      value2 = value2 + .1m;
      Console.WriteLine("{0} {2} {1}", value1, value2, 
                        (Relationship) Decimal.Compare(value1, value2));   
   }
}
// The example displays the following output:
//     79228162514264337593543950335 Equals 79228162514264337593543950335
//     6602346876188694799461995861.2 GreaterThan 6602346876188694799461995861.1
//     6602346876188694799461995861.0 LessThan 6602346876188694799461995861.2
Public Enum Relationship As Integer
    LessThan = -1
    Equals = 0
    GreaterThan = 1
End Enum

Module Example
   Public Sub Main()
      Dim value1 As Decimal = Decimal.MaxValue
      Dim value2 As Decimal = value1 - .01d
      Console.WriteLine("{0} {2} {1}", value1, value2, 
                        CType(Decimal.Compare(value1, value2), Relationship))   
   
      value2 = value1 / 12d - .1d
      value1 = value1 / 12d
      Console.WriteLine("{0} {2} {1}", value1, value2, 
                        CType(Decimal.Compare(value1, value2), Relationship))   
   
      value1 = value1 - .2d
      value2 = value2 + .1d
      Console.WriteLine("{0} {2} {1}", value1, value2, 
                        CType(Decimal.Compare(value1, value2), Relationship))   
   End Sub
End Module
' The example displays the following output:
'     79228162514264337593543950335 Equals 79228162514264337593543950335
'     6602346876188694799461995861.2 GreaterThan 6602346876188694799461995861.1
'     6602346876188694799461995861.0 LessThan 6602346876188694799461995861.2

適用於

另請參閱