1. 程式人生 > 遊戲 >經典日劇跑!索尼釋出遊戲陣容宣傳片《RUN! RUN! Line up》

經典日劇跑!索尼釋出遊戲陣容宣傳片《RUN! RUN! Line up》

因為double型別所定義的浮點數並不是精確的,比如在定義一個double型別a=1.0,b=0.9,a-b的結果並不會等於0.1而是0.9999999998

所以在進行浮點數的精確計算時,就不能用double或者float,而是BigDecimal

public class Demo04 {
    public static void main(String[] args) {
        double a = 1.0;
        double b = 0.9;
        
        System.out.println(a-b);//結果為0.099999999999998

        
//BigDecimal,大的浮點數精確計算 BigDecimal b1 = new BigDecimal("1.0"); BigDecimal b2 = new BigDecimal("0.9"); //減法 BigDecimal r1 = b1.subtract(b2); System.out.println(r1); //0.1 //加法 BigDecimal r2 = b1.add(b2); System.out.println(r2); //1.9
//乘法 BigDecimal r3 = b1.multiply(b2); System.out.println(r3); //0.98 //除法,執行除法運算時,除不盡會報錯 BigDecimal r4 = new BigDecimal("1.4") .subtract(new BigDecimal("0.5")) .divide(new BigDecimal("0.9")); System.out.println(r4); //1
//除不盡時 保留兩位小數 四捨五入 BigDecimal r5 = new BigDecimal("10").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP); System.out.println(r5); //3.33 } }