ホームページ  >  記事  >  Java  >  BigDecimal によるサイズの比較方法

BigDecimal によるサイズの比較方法

DDD
DDDオリジナル
2023-12-06 13:44:584575ブラウズ

サイズを比較する方法: 1. "compareTo()" メソッドを使用します。 2. "equals()" メソッドを使用します。 3. "compareTo()" メソッドのオーバーロード バージョンを使用します。 4. 「compareTo()」メソッドチェーン呼び出しなどを使用します。

BigDecimal は、高精度浮動小数点演算を処理するために使用される Java のクラスです。比較を行う場合、BigDecimal は 2 つのオブジェクトのサイズを比較するメソッドを提供します。 BigDecimal オブジェクトのサイズを比較する方法は次のとおりです:

1. CompareTo() メソッドを使用します:

CompareTo() メソッドは、次のことを表す整数値を返します。 2 つの BigDecimal オブジェクトのサイズ関係。戻り値が負の場合、最初のオブジェクトが 2 番目のオブジェクトより小さいことを意味します。戻り値が 0 の場合、2 つのオブジェクトは等しいことを意味します。戻り値が正の場合、最初のオブジェクトが 2 番目のオブジェクトより大きいことを意味します。 。

サンプルコード:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
          
        int result = number1.compareTo(number2);  
          
        if (result < 0) {  
            System.out.println("number1 < number2");  
        } else if (result > 0) {  
            System.out.println("number1 > number2");  
        } else {  
            System.out.println("number1 = number2");  
        }  
    }  
}

出力結果:

number1 < number2

2.equals() メソッドを使用:

equals() メソッドは、2 つの BigDecimal オブジェクトが等しいかどうかを比較するために使用されます。 2つのオブジェクトの数値とスケール(小数点以下の桁数)が等しいかどうかを比較します。等しい場合は true を返し、そうでない場合は false を返します。

サンプル コード:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("10.50");  
          
        boolean isEqual = number1.equals(number2);  
          
        if (isEqual) {  
            System.out.println("number1 = number2");  
        } else {  
            System.out.println("number1 != number2");  
        }  
    }  
}

出力結果:

number1 != number2

注: equals() メソッドを使用して BigDecimal オブジェクトを比較する場合、scale パラメーターは小数点以下の桁数を考慮します。したがって、比較するときはスケール設定に注意する必要があります。

3. CompareTo() メソッドのオーバーロード バージョンを使用します:

compareTo() メソッドには、2 つの BigDecimal オブジェクトを比較するために使用できるオーバーロード バージョンもあります。 with 指定されたオブジェクトの相対的なサイズ。このオーバーロードされたバージョンの戻り値は、compareTo() メソッドの戻り値と同じです。この方法により、2 つのオブジェクトと指定されたオブジェクトの間の大小関係を比較できます。

サンプル コード:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
        BigDecimal number3 = new BigDecimal("15.5");  
          
        int result = number1.compareTo(number2).compareTo(number3);  
          
        if (result < 0) {  
            System.out.println("number1 < number2 < number3");  
        } else if (result == 0) {  
            System.out.println("number1 = number2 = number3");  
        } else {  
            System.out.println("number1 > number2 > number3");  
        }  
    }  
}

この例では、最初にnumber1とnumber2の大小関係を比較し、次にその結果をcompareTo()メソッドに渡します。この結果は、number3 のサイズに関連しています。最終結果は負の数であり、number1 がnumber2 より小さく、number2 がnumber3 より大きいことを示しているため、「number1 number3」が出力される可能性があります。

4. CompareTo() メソッドの連鎖呼び出しを使用します:

compareTo() メソッドを連鎖させて、1 回の操作で複数の比較を実行することもできます。チェーン呼び出しを通じて、2 つのオブジェクトと複数のオブジェクトの間のサイズ関係を比較できます。

サンプル コード:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
        BigDecimal number3 = new BigDecimal("15.5");  
          
        int result = number1.compareTo(number2).compareTo(number3);  
          
        if (result < 0) {  
            System.out.println("number1 < number2 < number3");  
        } else if (result == 0) {  
            System.out.println("number1 = number2 = number3");  
        } else {  
            System.out.println("number1 > number2 > number3");  
        }  
    }  
}

出力結果:

number1 < number2 > number3

この例では、チェーン コールを使用して 3 つのオブジェクトの大小関係を比較します。最初にnumber1とnumber2を比較し、次にnumber2とnumber3を比較して、最後に完全な比較結果を取得します。

つまり、BigDecimal クラスにはサイズを比較するためのさまざまなメソッドが用意されており、特定のニーズに応じてさまざまな状況に対処するために適切なメソッドを選択できます。

以上がBigDecimal によるサイズの比較方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。