方法一:
BigDecimal b1 = new BigDecimal(156.56496);
b1.setScale(scale,BigDecimal.ROUND_HALF_UP);
说明:scale=3,也就是说保留两位小数。如果b=156,156.5或156.55,其结果分别是
156.0,156.5和156.55。也就是说,保留的位数不能统一,看要求使用。
方法二:
Double b = 3.5975;
BigDecimal b = new BigDecimal(new java.text.DecimalFormat("#.000").format(b));
说明:如果保留两位时,本来应该是3.60,但其结果是3.6,且也存在方法一的问题,
不推荐使用。
方法二:
b=156.56496;
BigDecimal b1 = new BigDecimal(b);
BigDecimal b2 = new BigDecimal(1);
b1.divide(b2, scale, RoundingMode.HALF_UP)
说明:scale=2,也就是说保留两位小数。如果b=156或156.5,其结果分别是
156.00和156.50。推荐使用~