如何在Java中设置Math.Context的比例?

How to set scale for Math.Context in Java?

我在编码中使用 Math.Context。现在的问题是 Math.Context 正在计算小数点后的所有内容。我想为 Math.Context 定义比例为 8(表示小数点后 8 位)。请注意我不是在寻找精度。我知道如何定义精度。我需要体重秤。

这是我的 Math.Context 代码行:

answer =  firstvalue.multiply(secondvalue).divide(new BigDecimal("1240"), MathContext.DECIMAL32);

MathContext class 的构造函数或辅助方法中没有设置比例的参数。您可以尝试 BigDecimal,其中比例可以给出

在 divide 参数中,参数可以按如下方式传递,

BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)

firstvalue.multiply(secondvalue).divide(new BigDecimal("1240"), 4, RoundingMode.FLOOR);

对 MathContext javadoc 的引用:https://docs.oracle.com/javase/7/docs/api/java/math/MathContext.html

你可以按照你的要求去做。我会告诉你如何做,但在此之前我想告诉你你必须 setScale() on BigDecimal。在这种情况下,我假设答案变量是 BigDecimal 。这是你的答案

answer =  firstvalue.multiply(secondvalue).divide(new BigDecimal("1240"), MathContext.DECIMAL32);
answer = answer.setScale(5, RoundingMode.HALF_EVEN); 
// YOU CAN SET YOUR OWN DESIRED SCALE OR ROUNDINGMODE