关于BigDecimal的ROUND_HALF_EVEN
BigDecimal的ROUND_HALF_EVEN按照工程学的行话来讲就是“四舍六入,逢五奇进偶舍”
对于整数时,该属性完全合适,对于小数就完全不对了。
下面是小弟的测试程序,以及测试数据,望高手不吝赐教
double d=x;
BigDecimal bd = new BigDecimal(d);
System.out.println(bd.doubleValue());
BigDecimal bd1 = bd.setScale(2, BigDecimal.ROUND_HALF_EVEN);
System.out.println(bd1.doubleValue());
0.5
0.0
1.5
2.0
2.5
2.0
3.5
4.0
1.115
1.11
1.125
1.12
1.135
1.14
1.145
1.15
1.155
1.16
34.115
34.12
34.125
34.12
34.135
34.13
34.145
34.15
34.155
34.16
39.515
39.52
39.525
39.52
39.535
39.53
39.545
39.55
39.555
39.55