[英]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.