この記事では、Java で 2 つの「BigDecimals」を比較する方法について詳しく説明します。
Javaの「BigDecimal」とは何ですか?
「 BigDecimal 」 Java では、32 ビットの整数スケールで構成され、非常に大きい浮動小数点数と非常に小さい浮動小数点数を処理するために使用されます。 「 規模 」は、小数点以下の桁数を表します。
Java で 2 つの BigDecimals を比較する方法は?
Java で 2 つの BigDecimals を比較するには、次のアプローチを適用します。
アプローチに進む前に、「 算数 」 クラスメソッド:
輸入 java.math.* ;
アプローチ 1: 「compareTo()」メソッドを使用して Java で 2 つの BigDecimals を比較する
「 比較する() ”メソッドは2つを比較します” BigDecimals 」であり、次のパラメータに基づいて結果を返します。
返された結果 | 計算された比較 |
---|---|
1 | 前者の BigDecimal が後者の BigDecimal より大きい場合。 |
0 | 前者の BigDecimal が後者の BigDecimal と等しい場合。 |
-1 | 前者の BigDecimal が後者の BigDecimal より小さい場合。 |
この方法は、作成された 2 つの「 BigDecimal 」値を取得し、「 if/else ' 声明。
構文
公共 整数 比較する ( 物体 オブジェクト )
この構文によれば、「 オブジェクトオブジェクト 」は、比較する必要があるオブジェクトに対応します。
例
以下に示す例は、議論されている概念を説明しています。
公共 クラス 比較大小数 {公共 静的 空所 主要 ( 弦 引数 [ ] ) {
BigDecimal val1、val2 ;
選択1 = 新しい BigDecimal ( 「26326.04」 ) ;
val2 = 新しい BigDecimal ( 「22145.20」 ) ;
もしも ( 選択1。 比較する ( val2 ) == 0 ) {
システム . 外 . println ( 選択1 + ' と ' + val2 + ' は同じ' ) ;
}
それ以外 もしも ( 選択1。 比較する ( val2 ) == - 1 ) {
システム . 外 . println ( 選択1 + ' よりも少ない ' + val2 ) ;
}
それ以外 {
システム . 外 . println ( 選択1。 比較する ( val2 ) ) ;
システム . 外 . println ( 選択1 + ' より大きい ' + val2 ) ;
}
上記のコード行に従って、次の手順を適用します。
- まず、2つの「」を作成します BigDecimals 」 記載された値を持っています。
- 次に、「 比較する() 割り当てられた値の両方を持つ」メソッド、および「 もしも 」ステートメント、対応するメッセージをログに記録します。
- ノート: メソッドが正常に動作するように、返されたメソッドの結果に基づいて条件が指定されます。
- 同様に、「 そうでなければ ” ステートメントは、メソッドの戻り値の型を考慮して他の条件を指定します。つまり、” -1 」。
- 最後に、「 それ以外 」ステートメントは、上記の満たされていない条件の両方で有効になります。
出力
上記の結果では、返された「 1 」は、「 それ以外 」ステートメントが呼び出されます。
アプローチ 2: 「equals()」メソッドを使用して Java で 2 つの BigDecimal を比較する
「 等しい() 「Javaのメソッド」 BigDecimal 」 クラスを使用して、値とスケールに基づいて BigDecimals が等しいかどうかを比較します。このメソッドを実装して、スケールにバリエーションがある BigDecimals にチェックを適用できます。
構文
公共 ブール値 等しい ( 物体 バツ )この構文では、「 オブジェクト x 」は、この BigDecimal を比較する必要があるオブジェクトに対応します。
例
次の例の概要を見てみましょう。
公共 クラス 比較bigdecimal2 {公共 静的 空所 主要 ( 弦 引数 [ ] ) {
BigDecimal val1、val2 ;
選択1 = 新しい BigDecimal ( 「205.0」 ) ;
val2 = 新しい BigDecimal ( 「205.00」 ) ;
もしも ( 選択1。 等しい ( val2 ) ) {
システム . 外 . println ( 選択1 + ' と ' + val2 + ' は同じ' ) ;
}
それ以外 {
システム . 外 . println ( 選択1 + ' と ' + val2 + 「等しくない」 ) ;
}
} }
上記のコードによると:
- 同様に、スケールが異なる 2 つの BigDecimals を作成します。
- ノート: 「 0 」は「と等しくない」 2.00 」 この方法と比較すると。
- その後、「 等しい() ” メソッドを使用して、作成された BigDecimals を比較し、対応する結果を “ if/else ' 声明。
出力
この結果では、「 BigDecimals 」は縮尺の違いにより等しくありません。
ただし、次の結果は、「BigDecimals」を等しくすることにつながります。
こうすれば2つを比較できる」 BigDecimals ジャワで。
結論
「 BigDecimal 」 Java では、32 ビットの整数スケールで構成されます。 Java の 2 つの BigDecimals は、「 比較する() '、 または ' 等しい() 」メソッド。前者のアプローチは、計算された比較に基づいて出力を返します。後者のアプローチは、指定されたスケールに基づいて BigDecimal 値を分析します。このブログは、Java の 2 つの「BigDecimals」を比較するようにガイドされています。