一般情况下,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