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
string yearrate ="0.13999999999999999999";
system.out.println(yearrate);
bigdecimal decimal = new bigdecimal(yearrate).multiply(new bigdecimal(100));
yearrate = decimal.setscale(2, bigdecimal.round_down).tostring();
system.out.println(yearrate);
----結果:
0.13999999999999999999
13.99
static bigdecimal one
值為 1,標度為 0。
static int round_ceiling
接近正無窮大的捨入模式。
static int round_down
接近零的捨入模式。
static int round_floor
接近負無窮大的捨入模式。
static int round_half_down
向「最接近的」數字捨入,如果與兩個相鄰數字的距離相等,則為上捨入的捨入模式。
static int round_half_even
向「最接近的」數字捨入,如果與兩個相鄰數字的距離相等,則向相鄰的偶數捨入。
static int round_half_up
向「最接近的」數字捨入,如果與兩個相鄰數字的距離相等,則為向上捨入的捨入模式。
static int round_unnecessary
斷言請求的操作具有精確的結果,因此不需要捨入。
static int round_up
捨入遠離零的捨入模式。
static bigdecimal ten
值為 10,標度為 0。
static bigdecimal zero
值為 0,標度為 0。
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...
關於BigDecimal,小數型別的處理
小數字數 bigdecimal.setscale 方法用於格式化小數點 setscale 1 表示保留一位小數,預設用四捨五入方式 setscale 1,bigdecimal.round down 直接刪除多餘的小數字,如2.35會變成2.3 setscale 1,bigdecimal.round ...