目录

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

}