一 ,bigdecimal 加減乘除 :
bigdecimal bigdecimal =new bigdecimal("10000");
//加法
bigdecimal bigdecimal1 =bigdecimal.add(new bigdecimal("2000"));
system.out.println(bigdecimal1);
//減法
bigdecimal bigdecimal2 =bigdecimal.subtract(new bigdecimal("2000"));
system.out.println(bigdecimal2);
//乘法
bigdecimal bigdecimal3 =bigdecimal.multiply(new bigdecimal("5"));
system.out.println(bigdecimal3);
//除法
bigdecimal bigdecimal4 =bigdecimal.divide(new bigdecimal("5"));
system.out.println(bigdecimal4);
控制依次輸出 :
12000
8000
50000
2000
二 ,bigdecimal 比較大小
bigdecimal可以通過compareto方法來進行比較。返回的結果是int型別,-1表示小於,0是等於,1是大於。
bigdecimal a = new bigdecimal(3);
bigdecimal b = new bigdecimal(2);
if ( a.compareto(b) == 1 )
三 ,bigdecimal 小數處理
//小數處理 引數 第一位 除數 ,第二位 保留小數字 ,bigdecimal.round_down 直接刪除
bigdecimal bigdecimal5 = bigdecimal.divide(new
bigdecimal("3"),0,bigdecimal.round_down);
system.out.println(bigdecimal5);
// bigdecimal.round_up; 近位
// bigdecimal.round_half_up; 四捨五入(5則向上入)
// bigdecimal.round_half_down; 四捨五入(5則向下舍)
注意: bigdecimal使用方法自身不會改變,結果需要接收 !
BigDecimal除法運算報錯
今天在運用bigdecimal做除法運算的時候,錯誤如下 non terminating decimal expansion no exact representable decimal result 不是很明白為什麼會這個樣子,度娘告訴我是因為 bigdecimal 做除法運算,如果除的結果為無限...
BigDecimal的精確運算
float和double型別,執行二進位制浮點運算,數值範圍上精確的近似計算,沒有完全精確的結果,商業計算往往要求結果精確,這時候使bigdecimal。使用bigdecimal做處理,資料來源是double型別要轉化為double.tostring 然後使用string型別的構造器來進行計算 1....
浮點數比較 運算BigDecimal
目錄總結 原文 浮點數float和double進行運算處理的時候,是不精確的,很容易出問題 比如 浮點數是不精確的,一定不要用於比較!float f 0.1f double d 1.0 10 system.out.println f d 結果為false又比如 float d1 423432423f...