最近尝试理解java.math.MathContext的用法,但没能正确理解。是否用于 java.math.BigDecimal
中的舍入。如果是,为什么不四舍五入十进制数字,甚至尾数部分。
从 API 文档中,我了解到它遵循 ANSI X3.274-1996
和 ANSI X3.274-1996/AM 1-2000
中指定的标准规范,但我没有让它们在线阅读。
如果您对此有任何想法,请告诉我。
最佳答案
要仅舍入 BigDecimal 的小数部分,请查看 BigDecimal.setScale(int newScale, int roundingMode)
方法。
例如将小数点后三位数字更改为两位数,并四舍五入:
BigDecimal original = new BigDecimal("1.235");
BigDecimal scaled = original.setScale(2, BigDecimal.ROUND_HALF_UP);
结果是一个值为 1.24 的 BigDecimal(由于向上舍入规则)
关于java - java.math.MathContext 的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539/