gpt4 book ai didi

java - 从字符串中删除多余的零

转载 作者:行者123 更新时间:2023-11-30 06:01:58 25 4
gpt4 key购买 nike

我想编写一个正则表达式来从字符串中删除多余的零。

REGEXP_REPLACE(REGEXP_REPLACE("Input_String","^0+", ''),'0+$','') 失败,如果 input_string = 120 然后 output_string = 12 而不是 120

以下是预期的输入与输出:

120--> 120
12--> 12
120.00--> 120
000329.0--> 329
14.4200--> 14.42
000430--> 430
0.24000--> 0.24
0.100--> 0.1
1.0--> 1

最佳答案

最简单的方法是使用BigDecimal:

String stripped = new BigDecimal(input).stripTrailingZeros().toString();

编辑:这实际上不适用于 000430:其字符串表示形式为 4.3E+2

您可以通过确保scale至少为零来解决此问题:

BigDecimal b = new BigDecimal(input).stripTrailingZeros();
if (b.scale() < 0) {
b = b.setScale(0, RoundingMode.UNNECESSARY);
}
String stripped = b.toString();

关于java - 从字符串中删除多余的零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56181925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com