2015-12-01 17:36:26.0|分类: java|浏览量: 1966
数据格式化1.545使用下面方法格式化结果是1.54,这个四舍五入的结果不对啊。发现BigDecimal bg = new BigDecimal(d),bg值是1.544999999999999. 2位四舍五入结构是1.54.这不科学啊。 /** * double格式化,返回double类型 */ public static double doubleFormat1(Double d, Integer len) { if (Double.isInfinite(d) || Double.isNaN(d)) { return d; } BigDecimal bg = new BigDecimal(d); double f1 = bg.setScale(len, BigDecimal.ROUND_HALF_UP).doubleValue(); return f1; } 修改方法: public static double doubleFormat2(Double d, Integer len) { if (Double.isInfinite(d) || Double.isNaN(d)) { return d; } BigDecimal bg = new BigDecimal(Double.toString(d)); double f1 = bg.setScale(len, BigDecimal.ROUND_HALF_UP).doubleValue(); return f1; } |