一、需求
工作中我们经常会碰到 把一个小数最后的0去掉的问题:比如 10.220 ,要求输出 10.22 这样的,那我们就需要给这个数字格式化了
二、方案
(一)正则删除
private static String stripTrailingZeros1(Number num) {
String str = String.valueOf(num);
if(str.indexOf(".") > 0){
str = str.replaceAll("0+?$", "");//去掉多余的0
str = str.replaceAll("[.]$", "");//如最后一位是.则去掉
}
return str;
}
(二)借助BigDecimal 来删除
private static String stripTrailingZeros2(Number num) {
BigDecimal bd = new BigDecimal(String.valueOf(num));
return bd.stripTrailingZeros().toPlainString();
}