四舍六入为比较科学的小数舍入,具体规则为:
// 四舍六入五考虑,
// 五后非零就进一,
// 五后为零看奇偶,
// 五前为偶应舍去,
// 五前为奇要进一。
一般情况下,很多程序设计语言是遵循这样的规则的,例如下面的java格式化小数:
NumberFormat numberFormat = newDecimalFormat("#0.##");
System.out.println(numberFormat.format(1.345));//1.34 五前为偶应舍去
System.out.println(numberFormat.format(1.3450001));//1.35 五后非零就进一
System.out.println(numberFormat.format(1.355));//1.36 五前为奇要进一
如果非要四舍五入怎么办,下面的方式也是可以满足要求的:
System.out.println( newBigDecimal("1.345").setScale(2, BigDecimal.ROUND_HALF_UP));//1.35
System.out.println( new BigDecimal("1.3450001").setScale(2,BigDecimal.ROUND_HALF_UP));//1.35
System.out.println(new BigDecimal("1.355").setScale(2, BigDecimal.ROUND_HALF_UP));//1.36