BigDecimal加減乗除演算と精度制御

1705 ワード

1.BigDecimalのメリットはjavaの浮動小数点数がdoubleとfloatで表されています.彼らは計算中に精度の問題が発生し、お金の計算にかかわるとdoubleやfloatで計算できません.BigDecimalを使用する必要があります.
2.簡単にBigDecimalを使って計算する
    public static void main(String[] args) {


        BigDecimal bl = new BigDecimal("100.369");
        BigDecimal b2 = new BigDecimal("1.369");
        String s = new String("2");
		
		BigDecimal bigDecimal = bl.add(b2);    // 
		BigDecimal bigDecimal = bl.subtract(b2);  // 
		BigDecimal bigDecimal = bl.multiply(b2);   // 
        BigDecimal bigDecimal = bl.divide(b2);    // 

        System.out.println(bigDecimal);

    }

3.精度の制御
    :	
		//      
    System.out.println(newDecimalFormat("0").format(pi));   //3 
    //           
    System.out.println(newDecimalFormat("0.00").format(pi)); //3.14 
    //          ,       0  。 
    System.out.println(new DecimalFormat("00.000").format(pi));// 03.142 
    //        
    System.out.println(newDecimalFormat("#").format(pi));   //3 
    //        ,       
    System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16% 
 
    longc=299792458;  //   
    //        ,       
    System.out.println(newDecimalFormat("#.#####E0").format(c)); //2.99792E8 
    //             ,       
    System.out.println(newDecimalFormat("00.####E0").format(c)); //29.9792E7 
    //          。 
    System.out.println(newDecimalFormat(",###").format(c));   //299,792,458 
    //        
    System.out.println(newDecimalFormat("       ,### 。").format(c)); 	

ps:公式apiで与えられたソリューションはstringタイプの構造関数を用いて精度を失わないことを保証する
この記事は技術的な参考に限られ、個人のノートで使用されます.