如何从字符串中删除尾随零

时间:2014-06-13 18:43:31

标签: java

如何在String

中删除java中的尾随零

下面是我的字符串值,
908.10001
508.1000
405.000
302.0000
15.880

我希望输出像
908.10001
508.1
405.0
302.0
15.88

4 个答案:

答案 0 :(得分:2)

非常简单的解决方案:

String string1 = Double.valueOf("302.1000").toString();  // 302.1
String string2 = Double.valueOf("302.0000").toString();  // 302.0
String string3 = Double.valueOf("302.0010").toString();  // 302.001

答案 1 :(得分:0)

我认为String replaceAll方法可以在参数中使用正则表达式,因此它可以做你想要的。我可能看起来像这样:

String s = s.indexOf(".") < 0 ? s : s.replaceAll("0*$", "").replaceAll("\\.$", "");

答案 2 :(得分:0)

你也必须处理尾随的非零。尝试使用比例为1的BigDecimal和ROUND_HALF_UP舍入(如果适用于您):

BigDecimal bd = new BigDecimal("302.0000");
System.out.println(bd.setScale(1,BigDecimal.ROUND_HALF_UP).toString()); //outputs 302.0

答案 3 :(得分:0)

您可以构建BigDecimal并使用stripTrailingZeros()

BigDecimal bd = new BigDecimal("302.00000").stripTrailingZeros();
System.out.println(bd.toString());