问题描述:业务中,从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; } } ```
Java 去除小数点后面多余的0
最新推荐文章于 2024-08-04 03:49:48 发布