https://www.cnblogs.com/jpfss/p/8072379.html
/** * 保留两位小数 */ @org.junit.Test public void formatTest() { double num=13.154215; //方式一 DecimalFormat df1 = new DecimalFormat("0.00"); String str = df1.format(num); System.out.println(str); //13.15 //方式二 // #.00 表示两位小数 #.0000四位小数 DecimalFormat df2 =new DecimalFormat("#.00"); String str2 =df2.format(num); System.out.println(str2); //13.15 //方式三 //%.2f %. 表示 小数点前任意位数 2 表示两位小数 格式后的结果为f 表示浮点型 String result = String.format("%.2f", num); System.out.println(result); //13.15 }
/** * 四舍五入保留小数点后两位,直接转成String,一般用于前端直接显示 * * @param value * @return */ public static String keep2DecimalPlaces(float value) { BigDecimal b1 = new BigDecimal(value); return b1.setScale(2, BigDecimal.ROUND_HALF_UP).toString(); } /** * 保留小数点后两位,还返回float,一般用作后端其他的逻辑运算, * * @param value * @return */ public static float keep2DecimalPlaces(float value) { BigDecimal b1 = new BigDecimal(value); return b1.setScale(2, BigDecimal.ROUND_HALF_UP).floatValue(); }