Warning: include_once(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 2

Warning: include_once(http://www.confrage.com/bin/header.php): failed to open stream: no suitable wrapper could be found in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 2

Warning: include_once(): Failed opening 'http://www.confrage.com/bin/header.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 2
JavaでBigDecimal同士の比較 | Java | 株式会社CONFRAGE
Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 17

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/menu.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 17
Javaで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{

}

Back to top

Information

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 132

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/side_bar.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 132

Warning: include_once(/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php): failed to open stream: No such file or directory in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 141

Warning: include_once(): Failed opening '/home/sites/heteml/users/m/o/r/moriya-h5/web/confrage/bin/seo.php' for inclusion (include_path='.:/usr/local/php/5.6/lib/php') in /home/users/2/moriya-h5/web/confrage/java/bigdecimal/compareto/compareto.html on line 141