BigDecimalの基本使用

13099 ワード

文書ディレクトリ
  • BigDecimalの使い方まとめ
  • 加減乗除の使用
  • compareTo()を使用して比較
  • BigDecimalの使い方まとめ
    BigDecimal a = new BigDecimal("123");
    BigDecimal b = new BigDecimal("456");
    BigDecimal c = a.add(b);//  
    BigDecimal d = a.subtract(b);//  
    BigDecimal e = a.multiply(b);//  
    //  ,     ,   6   ,    ,       ,        ,          
    BigDecimal f = a.divide(b, 6, BigDecimal.ROUND_HALF_UP));
    a.negate();//  
    

    加減乗除の使用
    BigDecimal bignum1 = new BigDecimal("10"); 
    BigDecimal bignum2 = new BigDecimal("5"); 
    BigDecimal bignum3 = null; 
      
    //   
    bignum3 = bignum1.add(bignum2); 
    System.out.println("   :" + bignum3); 
      
    //   
    bignum3 = bignum1.subtract(bignum2); 
    System.out.println("   :" + bignum3); 
      
    //   
    bignum3 = bignum1.multiply(bignum2); 
    System.out.println("   :" + bignum3); 
      
    //   
    bignum3 = bignum1.divide(bignum2); 
    System.out.println("   :" + bignum3);
    

    compareTo()を使用した比較
    @Test
        public void compareTo() {
        	//     BigDecimal  
            BigDecimal fee1 = new BigDecimal(1);
            BigDecimal fee2 = new BigDecimal(-1);
            BigDecimal fee3 = new BigDecimal(0.001);
            //       
            BigDecimal num = new BigDecimal(0.001);
            if(fee1.compareTo(num) == 1){
                System.out.println(fee1.compareTo(num));
                System.out.println("  ");
                System.out.println("-----------");
            }
            if(fee2.compareTo(num) == -1){
                System.out.println(fee2.compareTo(num));
                System.out.println("  ");
                System.out.println("-----------");
            }
            if(fee3.compareTo(num) == 0){
                System.out.println(fee3.compareTo(num));
                System.out.println("  ");
                System.out.println("-----------");
            }
        }
    

    出力結果は次のとおりです.
    1
      
    -----------
    -1
      
    -----------
    0
      
    -----------