如何存储与输入相同的 BigDecimal()?
我需要使用 BigDecimal() 存储实数,其中可能包含以下内容:
02.34
0.12
.12
0
000.000
我使用了以下方法:
Scanner sc= new Scanner(System.in);
int n=sc.nextInt();
BigDecimal[] amount = new BigDecimal[n];
for(int i=0;i<n;i++) {
amount[i]=sc.nextBigDecimal();
}
但是在打印时,它会打印格式化。像这样:
2.34
0.12
0.12
0.000
0
我希望它应该和输入的一样。因此,请告诉我如何才能完整地存储输入。
最佳答案
下面的代码应该可以解决你的问题,保持你的字符串不变,只有当你比较的时候才把它转换成BigDecimal
Arrays.sort(s, Collections.reverseOrder(new Comparator<String>() {
@Override
public int compare(String a1, String a2) {
BigDecimal a = new BigDecimal(a1);
BigDecimal b = new BigDecimal(a2);
return a.compareTo(b);
}
}));
关于java - BigDecimal() 省略前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33195821/