是否无法将 BigDecimal 值存储在一维数组中



我的目标是在通过 Scanner 类输入 BigDecimal 值时存储它们。我想将 BigDecimal 数字存储到一个数组中,以便我可以按数字对它们进行排序。这可以使用一维数组来完成吗?

我找不到任何为此任务设计的 BigInteger 方法。我想要 BigDecimal 值,因为小数精度对我来说很重要。

如果要轻松对它们进行排序,可以执行以下操作:

    BigDecimal x1 = new BigDecimal("1235.2345");
    BigDecimal x2 = new BigDecimal("235.2345");
    BigDecimal[] nums = {x1,x2};
    List<BigDecimal> lnums = Arrays.asList(nums);
    Collections.sort(lnums);

Arrays.asList()仅传递数组引用的值。 Collections.sort()使用合并排序。

我希望这对你有所帮助,

BigDecimal x = new BigDecimal(5.94839);
BigDecimal y = new BigDecimal(9.03937);
BigDecimal[] myBDArr = {x,y};
System.out.println(myBDArr[0]);
System.out.println(myBDArr[1]);

输出:

5.948389999999999844249032321386039257049560546875
9.0393699999999999050714905024506151676177978515625

最新更新