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;
}

}

结果如下:

 

posted @ 2021-08-25 15:04  北国浪子  阅读(962)  评论(0编辑  收藏  举报