gpt4 book ai didi

java - 操作后格式化bigdecimal数

转载 作者:行者123 更新时间:2023-11-30 08:03:22 24 4
gpt4 key购买 nike

我正在尝试对 BigDecimal 数字进行排序。这是代码。

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int t = scan.nextInt();
List<BigDecimal> hs = new ArrayList<BigDecimal>();

for (int i = 0; i < t; i++) {
BigDecimal b = scan.nextBigDecimal();
hs.add(b);
}
Collections.sort(hs, Collections.reverseOrder());
for (int i = 0; i < hs.size(); i++) {
System.out.println(hs.get(i));
}
}

它工作正常,但是当我像这样输入时。

5
50
.325
.324
-5
100

输出:

100
50
0.325
0.324
-5

我无法理解为什么这个 .325 会转换为 0.325,我该如何删除它?

最佳答案

您可能应该采用 @rgettman 的使用 DecimalFormat 的解决方案,但这是一个可能的替代方案:

Collections.sort(hs, Collections.reverseOrder());
for (int i=0; i < hs.size(); i++) {
// conditionally remove a leading zero
String value = hs.get(i).toString().replaceFirst("^(-?)0\\.", "$1.");
System.out.println(value);
}

关于java - 操作后格式化bigdecimal数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31545143/

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