トップページ >  Java >  BigDecimal同士の比較
初版2007/03/12: 最終更新日2007/03/12
  BigDecimal同士の比較
目次
BigDecimal同士の比較
出力結果
BigDecimal比較サンプル
BigDecimal同士の比較
BigDecimalオブジェクト同士の大小比較にはcompareToメソッドを使用します。
この時compareToメソッドの戻り値はAPIには、 BigDecimalの値が比較するBigDecimaより小さい場合は-1、等しい場合は0、大きい場合は1 とあります。
ですので、以下のように戻り値を-1や1と比較しがちです。

if(a.compareTo(b) == -1){
    // 処理
}
このように比較すると全ての比較演算子が使用できません。ですのでcompareToメソッドの戻り値は必ず0と比較します。
0と比較することにより比較演算子(<、==、>、>=、!=、<=)の全てが使用できるようになります。
以下は、例です。

import java.math.BigDecimal;

public class BigDecimalTest {

    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("0");
        BigDecimal b = new BigDecimal("1");
        BigDecimal c = new BigDecimal("-1");
        // <、==、>、>=、!=、<= 0と比較
        if(a.compareTo(b) <0){
            System.out.println("正しい");
        }
        if(a.compareTo(c) > 0){
            System.out.println("正しい");
        }
        if(a.compareTo(b) <= 0){
            System.out.println("正しい");
        }
        if(b.compareTo(b) == 0){
            System.out.println("正しい");
        }
        if(a.compareTo(c) >= 0){
            System.out.println("正しい");
        }
        if(a.compareTo(c) != 0){
            System.out.println("正しい");
        }
    }
}


出力結果
出力結果は以下のようになります。

正しい
正しい
正しい
正しい
正しい
正しい


BigDecimal比較サンプル
以下、サンプルです。

// 0と等しい場合
if(a.compareTo(BigDecimal.ZERO)) = 0{

}

// 1以上(0含まない)
if(a.compareTo(BigDecimal.ZERO)) > 0{

}

// 0以上
if(a.compareTo(BigDecimal.ZERO)) >= 0{

}


Information
リンクについて
個人情報保護方針
Yahoo!ブックマークに登録

社長&社員ブログ
やる気はあるがお金がない㈱コンフレッジブログ

slot大好きな㈱コンフレッジ社員のブログ
広告

サイト内検索
当サイト内を検索できます↓


PV