Java-去除小数点后面多余的0
目录
Java 去除小数点后面多余的0
问题描述:业务中,从excel里读取销售价格,取出来的数据并不是整数,而是数字后面带有小数点和零。(销售价为123,但是实际上取出来是123.0)
问题解决:利用正则表达式解决
import java.math.BigDecimal; import java.text.NumberFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;
public class Test {
public static void main(String[] args) throws ParseException {
BigDecimal b1 = new BigDecimal("1.345550000");
BigDecimal b2 = new BigDecimal("123.0");
System.out.println(b1);
System.out.println(b2);
System.out.println(rvZeroAndDot(b1.toString()));
System.out.println(rvZeroAndDot(b2.toString()));
}
public static String rvZeroAndDot(String s){
if (s.isEmpty()) {
return null;
}
if(s.indexOf(".") > 0){
s = s.replaceAll("0+?$", "");//去掉多余的0
s = s.replaceAll("[.]$", "");//如最后一位是.则去掉
}
return s;
}
}