问题标签 [mathcontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
50 浏览

java - BigDecimal 类的方法中的 MathContext 参数的作用是什么?

BigDecimal类具有以下算术和舍入方法:

divideandsetScale方法有scale参数,它定义了方法结果中小数点后的位数。我们可以使用此参数将数字四舍五入,例如,保留 2 个小数位,以便将其显示给用户或将它们存储在数据库中。

Java 5 为 BigDecimal 类引入了以下新方法:

MathContext mc参数定义方法结果的精度,即其中的总位数,即小数点前后的位数。但是mc参数的目的是什么?例如,我不认为将数字四舍五入到 7 位以将其显示给用户,因为如果四舍五入的数字在小数点后有不同的位数,那么舍入到 7 位的意义何在? 也许是为了定义中间结果的精度,例如除法 1/3 = 0.3333333333333333?

不幸的是,API 文档中没有描述 MathContext 参数的用途。我没有代码可以显示,我只是学习Java,想知道这个参数的含义。

0 投票
1 回答
127 浏览

java - 如何获得 BigDecimal 中的确切值?

我想获得具有以下属性的 BigDecimal 值:

  • 舍入模式:半偶数
  • 点后位数:2

我有以下代码:

在我发送一些值的测试中,我遇到了以下失败:

我该如何解决这个问题?