1.保留小数后两位 方法一: 23.4567 DecimalFormat df = new DecimalFormat("0.00"); df.format(input); 23.46
方法二:
/** * 小数保留指定位数方法2 * BigDecimal.ROUND_HALF_UP会进行四舍五入处理 */ public static String getData(Double data){ return new BigDecimal(data).setScale(2, BigDecimal.ROUND_HALF_UP).toString(); }
方法二会直接去掉后面的0,方法一不会,但是方法二的数据不太准确
2. /** * 去掉后面的0 * * @param value * @return */ public static String rvZeroAndDot(String value) { if (value.isEmpty()) { return null; } if (value.indexOf(".") > 0) { value = value.replaceAll("0+?$", "");//去掉多余的0 value = value.replaceAll("[.]$", "");//如最后一位是.则去掉 } BigDecimal db = new BigDecimal(value); String res = db.toPlainString(); return res; }