java數學精確運算—BigDecimal()類

在Java中直接做運算會產生數值不精確的問題,所以Java語言提供了更加準確的API,即BigDecimal()類:

import java.math.BigDecimal;
import java.math.RoundingMode;
public class TestBigDecimal {
    public static void main(String[] args) {
        BigDecimal d1 = new BigDecimal("2.0");
        BigDecimal d2 = new BigDecimal("1.1");
        /*
        .add    加法
        .subtract   減法
        .multiply   乘法
        .divide     除法
        */

        BigDecimal d3 = d1.subtract(d2);
        System.out.println(d3);//準確
        System.out.println(2.0-1.1);
        System.out.println(20.0/6.0);


        BigDecimal d4 = new BigDecimal("20.0");
        BigDecimal d5 = new BigDecimal("3.0");
        System.out.println(20.0/3.0);
        //參數1:除數    參數2: 小數點後保留位數       參數3:舍入模式
        BigDecimal d6 = d4.divide(d5, 4, RoundingMode.HALF_UP);//四捨五入,jdk   math.RoudingMode
        System.out.println(d6);//保留4位

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