第八節 大數BigInteger BigDecimal計算

/**
 * Created by Administrator on 2017/12/3.
 * 大數計算
 */
public class base05 {
    public static void main(String[] args) {
        BigInteger bia=new BigInteger("1");
        BigInteger bib=new BigInteger("4");
        System.out.println(bib.add(bia).toString());//加
        System.out.println(bib.subtract(bia).toString());//減
        System.out.println(bib.multiply(bia).toString());//乘
        System.out.println(bia.divide(bib).toString());//除
        System.out.println(bia.mod(bib).toString());//餘

        float a=9.2F;
        float b=10.0F;
        System.out.println(b-a);//0.8000002
        // 基本數據類型中浮點類型無法準確進行運算
        //因此如果需要計算精度準確,需要使用大數進行操作

        BigDecimal adg=new BigDecimal(10.3);
        BigDecimal dg=new BigDecimal(9.2);
        System.out.println("---------------------");//加
        System.out.println(adg.add(dg).toString());//加
        System.out.println(adg.subtract(dg).toString());//減
        System.out.println(adg.multiply(dg).toString());//乘
        System.out.println(adg.divide(dg,0).toString());//除
        System.out.println(adg.divide(dg,1).toString());//除
        System.out.println(adg.divide(dg,1).setScale(2,BigDecimal.ROUND_UP).toString());
        System.out.println(adg.divide(dg,1).setScale(2,BigDecimal.ROUND_HALF_DOWN).toString());


        /**
         * BigDecimal的取捨方法爲setScale(int newScale,RoundingMode roundingMode)
         * newScale - 要返回的 BigDecimal 值的標度。--返回幾位小數
         * roundingMode - 要應用的舍入模式。        --怎麼取捨
         */


    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章