2021-01-03 BigDecimal

我叫風風發表於2021-01-03
package com.llb.bigDecimal;

import java.math.BigDecimal;

public class MyBigDecimal {
    public static void main(String[] args) {
        /**
         * 十進位制 -> 二進位制計算 -> 十進位制
         */
        System.out.println(10.0/3.0);
/**
 * 構造方法
 */
        BigDecimal b1 = new BigDecimal(10.01);
        BigDecimal b2 = new BigDecimal("11.666");
        System.out.println(b1+"\n"+b2);
        /**
         * 四則運算
         * 如果想進行精確運算,用字串的構造方法
         */
        BigDecimal num1 = new BigDecimal("0.1");
        BigDecimal num2 = new BigDecimal("0.2");
        //加法  add()
        System.out.println("加法 : "+num1.add(num2));
        //減法  subtract()
        System.out.println("減法 : "+num1.subtract(num2));
        //乘法  multiply()
        System.out.println("乘法 : "+num1.multiply(num2));
        //除法  divide()
        System.out.println("除法 : "+num1.divide(num2));
        //除不盡的情況使用三個引數的 divide(參與運算的另一個物件,精確到小數點後位數,舍入模式)
        //ROUND_UP  進一法
        //ROUND_FLOOR  去尾法
        //ROUND_HALF_UP  四捨五入
        BigDecimal num3 = new BigDecimal("10.0");
        BigDecimal num4 = new BigDecimal("3.0");
        System.out.println("除法 進一法 : "+num3.divide(num4,//參與運算的另一個引數
                5,//精確到小數點後多少位
                BigDecimal.ROUND_UP));//舍入模式
        System.out.println("除法 去尾法 : "+num3.divide(num4,//參與運算的另一個引數
                5,//精確到小數點後多少位
                BigDecimal.ROUND_FLOOR));//舍入模式
        System.out.println("除法 四捨五入 : "+num3.divide(num4,//參與運算的另一個引數
                5,//精確到小數點後多少位
                BigDecimal.ROUND_HALF_UP));//舍入模式
    }
}

相關文章