繁体   English   中英

删除字符串数据类型的尾随零

[英]Remove the one trailing zero for a String datatype

如何删除 java 中字符串数据类型的唯一尾随零。 例如:

如果输入值为 29.360,则预期的 output 应为 29.36

如果输入值为 29.00,则预期的 output 应为 29.0

如果输入值为 29.50,则预期的 output 应为 29.5

尝试这个。

  • "0$"匹配字符串末尾的0
  • 如果找到,则将所有内容替换为空字符串。
  • (?<.\\.)表示不要删除小数点后的单独 0。
String[] data = {"29.360", "100", "1000","29.00", "33.47", "29.50", "29.0"}; 
for (String val : data) {
    String result = val.replaceAll("(\\d*\\.\\d*)(?<!\\.)0$","$1");
    System.out.println(val + " --> " + result);
}

印刷

29.360 --> 29.36
100 --> 100
1000 --> 1000
29.00 --> 29.0
33.47 --> 33.47
29.50 --> 29.5
29.0 --> 29.0

您可以使用 BigDecimal 来实现相同的目的。 示例如下:

    System.out.println(new BigDecimal("29.360").stripTrailingZeros());
    System.out.println(new BigDecimal("29.00").stripTrailingZeros());
    System.out.println(new BigDecimal("29.50").stripTrailingZeros());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM