因为setScale方法里面会新建BigDecimal对象设置scale属性而不是修改当前对象的scale属性,改成下面试试 BigDecimal bigDecimal = new BigDecimal("10.5678").setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bigDecimal.doubleValue());//10.57
System.out.println("**************************************");
bigDecimal = new BigDecimal("10.5678");
bigDecimal = bigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bigDecimal.doubleValue());//10.5678
System.out.println(bigDecimal.doubleValue());//10.57
System.out.println("**************************************");
bigDecimal = new BigDecimal("10.5678");
bigDecimal = bigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);
System.out.println(bigDecimal.doubleValue());//10.5678
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货