在java中将double精确为2位小数的方法之一:

return new BigDecimal(quotation).setScale(2, RoundingMode.HALF_EVEN).toString();

DecimalFormat对数值格式化的舍入问题——RoundingMode

背景 在对数值做一些计算的时候,往往我们需要控制计算结果的精度,所以会使用到DecimalFormat类来将数值格式化成字符串。在最近测试中,突然注意到默认使用DecimalFormat进行格式化时,并非我们一般认识上的四舍五入,而是一种诡异的舍入——(1)5以下舍去(2)5以上舍入(3)若前一位是奇数,5就舍入(4)