對於使用bigdecimal的add方法進行相加操作時,累加整型
的資料沒有問題,但是當我們累加bigdecimal
型別的資料時,會發現資料並沒有進行累加,**如下:new bigdecimal中放入的是乙個int
型資料。
int i =3;
bigdecimal overdueratetotal=
newbigdecimal(0
);overdueratetotal = overdueratetotal.
add(
newbigdecimal
(i))
; system.out.
println()
;"overdueratetotal:"
+overdueratetotal)
;
這樣得出的overdueratetotal:3
,累加資料沒有問題。
bigdecimal i =
newbigdecimal
(3.00);
bigdecimal overdueratetotal=
newbigdecimal(0
);overdueratetotal = overdueratetotal.
add(
newbigdecimal
(i))
; system.out.
println()
;"overdueratetotal:"
+overdueratetotal)
;
這樣得出的overdueratetotal:0
,累加資料出問題,應該改為:
bigdecimal i =
newbigdecimal
(3.00);
bigdecimal overdueratetotal=
newbigdecimal(0
);overdueratetotal = overdueratetotal.
add(
newbigdecimal
(i.tostring()
)); system.out.
println()
;"overdueratetotal:"
+overdueratetotal)
;
具體原因暫不知,想知道的看這個
BigDecimal除法問題
bigdecimal做除法時,盡量使用divide bigdecimal divisor,intscale,introundingmode 這個方法 divisor 被除數 scale保留小數字數 roundingmode保留小數時採用的方法,一般使用bigdecimal.round up 四捨五入...
bigdecimal使用問題
初始化bigdecimal型別資料的時候,不要用下圖所示的構造初始化,否則很可能會有問題 理由 如果傳入 中的數字為小數型別,則會出現下圖所示的問題。我看了下jdk api 的說明,找到了如下說法。總結一下就是 轉換小數想達到你想要的結果用 new bigdecimal string 或者 bigd...
BigDecimal 精度問題
在使用bigdecimal過程中,暫時遇到兩個問題,都是精度問題,乙個是精度丟失,乙個是精度顯示問題。bigdecimal建立物件有很多種方式 通過double型別去宣告bigdecimal物件時,就發生精度不准的問題 這個就不建議使用了,可以換種方式去解決這個問題,用string構造器構建物件 設...