标签: mathcontext

使用java.math.MathContext

最近我尝试了解java.math.MathContext的使用但未能正确理解.它用于舍入java.math.BigDecimal.如果是,为什么不围绕十进制数字,甚至是尾数部分.

从API文档中,我发现它遵循规范ANSI X3.274-1996ANSI X3.274-1996/AM 1-2000规范中指定的标准,但我没有让它们在线阅读.

如果您对此有任何想法,请告诉我.

java math bigdecimal mathcontext

48
推荐指数
5
解决办法
7万
查看次数

BigDecimal 和 MathContext 的不一致行为

我从 BigDecimal 看到一些奇怪的行为当我使用 mathContext 进行除法时,输出与直接提供比例和舍入模式进行除法时的输出不同这是我认为应该提供相同输出的示例

public static void main(String...args){
    MathContext mc = new MathContext(3,RoundingMode.HALF_UP);
    BigDecimal four = new BigDecimal(4);
    BigDecimal three = new BigDecimal(3);
    System.out.println(four.divide(three,3,RoundingMode.HALF_UP));
    System.out.println(four.divide(three,mc));
}
Run Code Online (Sandbox Code Playgroud)

输出:

1.333
1.33
Run Code Online (Sandbox Code Playgroud)

使用 MathContext 时,似乎对比例进行了不同的处理。或者我不明白什么时候使用哪个。

java bigdecimal mathcontext

3
推荐指数
1
解决办法
562
查看次数

标签 统计

bigdecimal ×2

java ×2

mathcontext ×2

math ×1