關於BigDecimal,小數型別的處理

2021-09-24 23:58:22 字數 982 閱讀 1620

小數字數:

bigdecimal.setscale()方法用於格式化小數點

setscale(1)表示保留一位小數,預設用四捨五入方式

setscale(1,bigdecimal.round_down)直接刪除多餘的小數字,如2.35會變成2.3 setscale(1,bigdecimal.round_up)進製處理,2.35變成2.4

setscale(1,bigdecimal.round_half_up)四捨五入,2.35變成2.4

setscaler(1,bigdecimal.round_half_down)四捨五入,2.35變成2.3,

如果是5則向下舍

注釋:1: scale指的是你小數點後的位數。比如123.456則score就是3. score()就是bigdecimal類中的方法啊。 比如:bigdecimal b = new bigdecimal(「123.456」); b.scale(),返回的就是3.

2: roundingmode是小數的保留模式。它們都是bigdecimal中的常量字段,有很多種。 比如:bigdecimal.round_half_up表示的就是4舍5入。

3: pubilc bigdecimal divide(bigdecimal divisor, int scale, int roundingmode) 的意思是說:我用乙個bigdecimal物件除以divisor後的結果,並且要求這個結果保留有scale個小數字,roundingmode表示的就是保留模式是什麼,是四捨五入啊還是其它的,你可以自己選!

4: 對於一般add、subtract、multiply方法的小數字格式化如下:

bigdecimal mdata = new bigdecimal("9.655").setscale(2, bigdecimal.round_half_up);

system.out.println("mdata=" + mdata);

結果:mdata=9.66

BigDecimal 運用小數

bigdecimal.setscale 方法用於格式化小數點 setscale 1 表示保留一位小數,預設用四捨五入方式 setscale 1,bigdecimal.round down 直接刪除多餘的小數字,如2.35會變成2.3 setscale 1,bigdecimal.round up 進製...

BigDecimal設定小數字數

public static void main string args bigdecimal x new bigdecimal 2.22262222222222222222222222 setscale 3,bigdecimal.round half up system.out.println x....

BigDecimal如何保留小數字

bigdecimal怎麼保留字段呢,bigdecimal big new bigdecimal 2.3513 設定bigdecimal初始值big.setscale 1 保留1位小數,預設用四捨五入。big.setscale 1,bigdecimal.round down 直接刪除多餘的小數,2.3...