相关疑难解决方法(0)

在java正则表达式中捕获组的行为混淆

在这个答案我推荐使用

s.replaceFirst("\\.0*$|(\\.\\d*?)0+$", "$1");
Run Code Online (Sandbox Code Playgroud)

但有两个人抱怨结果包含字符串"null",例如23.null.这可以通过$1(即group(1))存在来解释null,可以将其转换String.valueOf为字符串"null".但是,我总是得到空字符串.我的测试用例涵盖了它

assertEquals("23", removeTrailingZeros("23.00"));
Run Code Online (Sandbox Code Playgroud)

经过.确切的行为是否未定义?

java regex replace

7
推荐指数
1
解决办法
265
查看次数

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

我有一个字符串salePrice可以有类似的值29.90000,91.01000,我想得到输出像29.90,91.01小数点后的两位数.我正在使用一个字符串.

java string

2
推荐指数
3
解决办法
1万
查看次数

将float格式化为最多N个小数位

我想将数字格式化为最多N个小数位。这里还有另一个类似且受欢迎的问题,但这并不是我想要的。

我正在寻找这样的东西,假设我想要最大。2个地方,所以这将是:

1.00  -> "1"    (not "1.00")
1.20  -> "1.2"  (not "1.20")
1.23  -> "1.23"
1.234 -> "1.23"
1.235 -> "1.24"
Run Code Online (Sandbox Code Playgroud)

与另一个问题的不同之处在于,如果不需要,我不想在逗号后面加上零。

我想知道这是否可以String.format()通过Math.round(),或DecimalFormat来完成。上面显示的另一个问题提供了DecimalFormat的解决方案。

给定N作为参数,答案不必为变量。我只是以N为例。

java format floating-point numbers

2
推荐指数
1
解决办法
2094
查看次数

标签 统计

java ×3

floating-point ×1

format ×1

numbers ×1

regex ×1

replace ×1

string ×1