您的位置:首页 > 编程语言 > Java开发

Java 去除小数点后面多余的0

2017-02-23 22:01 519 查看
问题描述:业务中,从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 正则表达式 excel