一
bigdecimal num = new bigdecimal("2.225667");//一般都會這樣寫最好
int count = num.scale();
system.out.println(count);//6 返回的是小數點後位數
1. round_down
bigdecimal b = new bigdecimal("2.225667").setscale(2, bigdecimal.round_down);
system.out.println(b); 直接去掉多餘的位數
2. round_up
bigdecimal c = new bigdecimal("2.224667").setscale(2, bigdecimal.round_up);
system.out.println(c); 跟上面相反,進製處理
3. round_ceiling
天花板(向上),正數進製向上,負數舍位向上
bigdecimal f = new bigdecimal("2.224667").setscale(2, bigdecimal.round_ceiling);
system.out.println(f); 如果是正數,相當於bigdecimal.round_up
bigdecimal g = new bigdecimal("-2.225667").setscale(2, bigdecimal.round_ceiling);
system.out.println(g); 如果是負數,相當於bigdecimal.round_down
4. round_floor
地板(向下),正數舍位向下,負數進製向下
bigdecimal h = new bigdecimal("2.225667").setscale(2, bigdecimal.round_floor);
system.out.println(h); 如果是正數,相當於bigdecimal.round_down
bigdecimal i = new bigdecimal("-2.224667").setscale(2, bigdecimal.round_floor);
system.out.println(i); 如果是負數,相當於bigdecimal.round_half_up
5. round_half_up
bigdecimal d = new bigdecimal("2.225").setscale(2, bigdecimal.round_half_up);
system.out.println("round_half_up"+d); 四捨五入(若捨棄部分》=.5,就進製)
6. round_half_down
bigdecimal e = new bigdecimal("2.225").setscale(2, bigdecimal.round_half_down);
system.out.println("round_half_down"+e); 四捨五入(若捨棄部分》.5,就進製)
7. round_half_even
bigdecimal j = new bigdecimal("2.225").setscale(2, bigdecimal.round_half_even);
system.out.println(j); 如果捨棄部分左邊的數字為偶數,則作 round_half_down
bigdecimal k = new bigdecimal("2.215").setscale(2, bigdecimal.round_half_even);
system.out.println(k); 如果捨棄部分左邊的數字為奇數,則作 round_half_up
system.out.println("************************************");
system.out.println("4.05: "+new bigdecimal("4.05").setscale(1, bigdecimal.round_half_even)); 4.0 down
system.out.println("4.15: "+new bigdecimal("4.15").setscale(1, bigdecimal.round_half_even)); 4.2 up
system.out.println("4.25: "+new bigdecimal("4.25").setscale(1, bigdecimal.round_half_even)); 4.2 down
system.out.println("4.35: "+new bigdecimal("4.35").setscale(1, bigdecimal.round_half_even)); 4.4 up
system.out.println("4.45: "+new bigdecimal("4.45").setscale(1, bigdecimal.round_half_even)); 4.4 down
system.out.println("4.55: "+new bigdecimal("4.55").setscale(1, bigdecimal.round_half_even)); 4.6 up
system.out.println("4.65: "+new bigdecimal("4.65").setscale(1, bigdecimal.round_half_even)); 4.6 down
system.out.println("3.05: "+new bigdecimal("3.05").setscale(1, bigdecimal.round_half_even)); 3.0 down
system.out.println("3.15: "+new bigdecimal("3.15").setscale(1, bigdecimal.round_half_even)); 3.2 up
system.out.println("3.25: "+new bigdecimal("3.25").setscale(1, bigdecimal.round_half_even)); 3.2 down
system.out.println("3.35: "+new bigdecimal("3.35").setscale(1, bigdecimal.round_half_even)); 3.4 up
system.out.println("3.45: "+new bigdecimal("3.45").setscale(1, bigdecimal.round_half_even)); 3.4 down
system.out.println("3.55: "+new bigdecimal("3.55").setscale(1, bigdecimal.round_half_even)); 3.6 up
system.out.println("3.65: "+new bigdecimal("3.65").setscale(1, bigdecimal.round_half_even)); 3.6 down
8.round_unnecessary
bigdecimal l = new bigdecimal("2.215").setscale(3, bigdecimal.round_unnecessary);
system.out.println(l);
//斷言請求的操作具有精確的結果,因此不需要捨入。
//如果對獲得精確結果的操作指定此捨入模式,則丟擲arithmeticexception。
BigDecimal如何保留小數字
bigdecimal怎麼保留字段呢,bigdecimal big new bigdecimal 2.3513 設定bigdecimal初始值big.setscale 1 保留1位小數,預設用四捨五入。big.setscale 1,bigdecimal.round down 直接刪除多餘的小數,2.3...
BigDecimal加減乘除保留小數
public bigdecimal add bigdecimal augend 加 bigdecimal bd1 new bigdecimal 0.09 bigdecimal bd2 new bigdecimal 0.01 system.out.println add bd1.add bd2 sys...
BigDecimal如何保留小數字
1 bigdecimal big new bigdecimal 2.3513 設定bigdecimal初始值 2 big.setscale 1 保留1位小數,預設用四捨五入。3 big.setscale 1,bigdecimal.round down 直接刪除多餘的小數,2.3513直接被截斷位2....