java BigDecimal保留两位小数
對于一些精準(zhǔn)的數(shù)字,如涉及到金額時我們一般會使用BigDecimal類型來保存和處理。在處理保留小數(shù)位數(shù)時,如果通過DecimalFormat表達(dá)式需要注意下。
1、通過DecimalFormat保留兩位小數(shù)
通過上圖可以看到,#在補位時,如果該位沒有數(shù)字會補空,如果是0.123這樣的整數(shù)位為0的數(shù)字,則會丟失整數(shù)位;
0在補位時,如果該位沒有數(shù)字會補0,所以整數(shù)位切勿用00.這樣的表達(dá)式,造成最左側(cè)存在多余0。
推薦:在保留小數(shù)位上,#0.00這種類型比較適宜。
2、通過setScale保留小數(shù)。
由上可以看到,在小數(shù)位大于等于2位時可以正常保留兩位小數(shù);如果該數(shù)字不足兩位小數(shù),則也不會補0,需要注意一些場景可能不合適。
3、推薦保留兩位小數(shù)方式
一般通過string.format處理的結(jié)果比較合適。
4、附BigDecimal的常用方法
(1)、加法 add()函數(shù)、
(2)、減法subtract()函數(shù)、
(3)、乘法multiply()函數(shù)、
(4)、除法divide()函數(shù)、
BigDecimal result = num2.divide(num1,5,BigDecimal.ROUND_HALF_UP);
除法運算需要注意指定小數(shù)位數(shù),和四舍五入方式
(5)、絕對值abs()函數(shù)、
(6)、比較大小compareTo()方法,如果返回1則前者大,0一樣大,-1前者小。需要注意空指針。
學(xué)海無涯苦作舟!!!
總結(jié)
以上是生活随笔為你收集整理的java BigDecimal保留两位小数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AI无法打败AI!ChatGPT检测器频
- 下一篇: IE 無法開啟網際網路網站的框框http