java - java.math.MathContext 的使用

标签 java math bigdecimal mathcontext

最近尝试理解java.math.MathContext的用法,但没能正确理解。是否用于 java.math.BigDecimal 中的舍入。如果是,为什么不四舍五入十进制数字,甚至尾数部分。

从 API 文档中,我了解到它遵循 ANSI X3.274-1996ANSI 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/

相关文章:

java - 即使禁用了滑动,选项卡仍会随着 TabLayout 上的触摸移动而更改

java - 使用 Marathon/Mesos 的 Prometheus 动态端口服务发现

java - 在 Eclipse 中,如何排除某些文件(可能基于 .svn 扩展名或文件名)被复制到输出文件夹?

Java滚动背景

python - Lisp翻译

scala - 序列化问题 "scala.math.BigDecimal does not have a no-arg default constructor"

c - 如何在(旧)opengl (2.4) 中按程序绘制(超/n-)立方体

math - 以 R 为重点学习应用统计学

java - 使用流将多个 HashMap 的内容相加

java 从 double/bigDecimal/float 转换为具有 4decimals 近似值的字符串