BigInteger.Compare(BigInteger, BigInteger) 方法

定義

比較兩個 BigInteger 值並傳回整數,這個整數表示第一個值小於、等於或大於第二個值。

public:
 static int Compare(System::Numerics::BigInteger left, System::Numerics::BigInteger right);
public static int Compare (System.Numerics.BigInteger left, System.Numerics.BigInteger right);
static member Compare : System.Numerics.BigInteger * System.Numerics.BigInteger -> int
Public Shared Function Compare (left As BigInteger, right As BigInteger) As Integer

參數

left
BigInteger

要比較的第一個值。

right
BigInteger

要比較的第二個值。

傳回

帶正負號的整數,表示 leftright 的相對值,如下表所示。

條件
小於零left 小於 right
left等於 right
大於零left 大於 right

備註

BigInteger雖然型別沒有固定範圍,但值的比較 BigInteger 不是以浮點數比較為特徵的精確度不足所描述。 下列範例會比較兩 BigInteger 個值,其差異為一,且每個值都有 1,896 位數。 方法 Compare 會正確報告兩個值不相等。

BigInteger number1 = BigInteger.Pow(Int64.MaxValue, 100);
BigInteger number2 = number1 + 1;
string relation = "";
switch (BigInteger.Compare(number1, number2))
{
   case -1:
      relation = "<";
      break;
   case 0:
      relation = "=";
      break;
   case 1:
      relation = ">";
      break;
}
Console.WriteLine("{0} {1} {2}", number1, relation, number2);
// The example displays the following output:
//    3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896
Dim number1 As BigInteger = BigInteger.Pow(Int64.MaxValue, 100)
Dim number2 As BigInteger = number1 + 1
Dim relation As String = ""
Select Case BigInteger.Compare(number1, number2)
   Case -1
      relation = "<"
   Case 0
      relation = "="
   Case 1
      relation = ">"
End Select            
Console.WriteLine("{0} {1} {2}", number1, relation, number2)
' The example displays the following output:
'    3.0829940252776347122742186219E+1896 < 3.0829940252776347122742186219E+1896

適用於

另請參閱