Java中去除BigDecimal类型数字末尾无用的零
import java.math.BigDecimal;
public class BigDecimalTest {
public static void main(String[] args) {
BigDecimal a = new BigDecimal("1.0000");
BigDecimal b = new BigDecimal("1.0001");
BigDecimal c = new BigDecimal("100000");
BigDecimal d = new BigDecimal("100.00");
BigDecimal e = new BigDecimal("0.0001");
System.out.println(trimEndZeroOfBigDecimal(a));
System.out.println(trimEndZeroOfBigDecimal(b));
System.out.println(trimEndZeroOfBigDecimal(c));
System.out.println(trimEndZeroOfBigDecimal(d));
System.out.println(trimEndZeroOfBigDecimal(e));
}
public static String trimEndZeroOfBigDecimal(BigDecimal bigDecimal) {
String val = "";
if (bigDecimal == null) {
return val;
} else {
val = String.valueOf(bigDecimal);
}
if (val.indexOf(".") > 0) {
// 去掉后面无用的零
val = val.replaceAll("0+?$", "");
// 如小数点后面全是零则去掉小数点
val = val.replaceAll("[.]$", "");
}
return val;
}
}
结果如下: