除以 BigDecimal 时如何保持尾随零

How to keep trailing zeros when dividing a BigDecimal

我有一个要求,我需要将一个 BigDecimal 数字除以 100,并在不删除尾随零的情况下显示出现的确切数量。但是默认情况下会修剪零。我该如何预防?

BigDecimal endDte = new BigDecimal("2609.8200");
BigDecimal startDte = new BigDecimal("100");


BigDecimal finalPerformance = endDte.divide(startDte);
System.out.println(finalPerformance.toString());

输出:26.0982 预期:26.098200

您想要的是格式化,因为那些 0 不会增加值。您可以使用它,您将获得所需的输出。


        BigDecimal endDte = new BigDecimal("2609.8200");
        BigDecimal startDte = new BigDecimal("100");

        BigDecimal finalPerformance = endDte.divide(startDte);
        System.out.printf("%2.6f%n", finalPerformance);

其他选项,如果你总是想除以 100,你可以只移动小数点。当您这样做时,精度保持不变。在这种情况下,要尝试的新代码是


        BigDecimal endDte = new BigDecimal("2609.8200");
        //BigDecimal startDte = new BigDecimal("100");


        BigDecimal finalPerformance = endDte.movePointLeft(2);
        System.out.println(finalPerformance);