两个BigDecimal数据类型比较、加减乘除、格式化

2022-06-10 11:23:43 浏览数 (3)

一般情况下,string类型比较用equals,int用=

而BigDecimal需要用compareTo

代码语言:javascript复制
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

1 人点赞