1. 程式人生 > >兩個BigDecimal資料型別比較、加減乘除、格式化

兩個BigDecimal資料型別比較、加減乘除、格式化

一般情況下,string型別比較用equals,int用=

而BigDecimal需要用compareTo

if(goodsData.unitPrice.compareTo(new BigDecimal("0.00"))==0){
            etGoodsPrice.setText("");
        }else{
            etGoodsPrice.setText(String.valueOf(goodsData.unitPrice));
        }
上面的程式碼就是兩個BigDecimal資料型別的值進行比較

new BigDecimal("0.00")是確定資料格式,兩位小數

==0,文件中也有介紹,0表示相等,-1表示小於,1表示大於

加減乘除:

BigDecimal b=new BigDecimal(100);

假設一個int值:int c=5;   如果是BigDecimal型別的就不用轉換

1.加

b.add(BigDecimal.valueOf(c));

2.減

b.subtract(BigDecimal.valueOf(c));

3.乘

b.multiply(BigDecimal.valueOf(c));

4.除

b.divide(BigDecimal.valueOf(c));

格式化:

.setScale(2) 保留兩位小數,預設四捨五入, 1.235》1.24

.setScale(2,BigDecimal.ROUND_DOWN) 直接刪除兩位小數後面的小數, 1.235》1.23

.setScale(2,BigDecimal.ROUND_HALF_UP) 四捨五入,向上取, 1.235》1.24

.setScale(2,BigDecimal.ROUND_HALF_DOWN) 四捨五入,向下取, 1.235》1.23