Java - 数学计算 - BigDecimal

时间:2015-04-13 19:00:40

标签: java android math bigdecimal

我的问题与数学有关,应如何用Java计算“金融”数学方程,重点是Android开发。根据“Java方法金融工程”的作者PhilipBarker的说法,开发人员在处理数值近似值时应特别注意准确性错误 。以下是他的书中的一个引用,它可以使这个讨论更清楚。

  

“因为我们主要处理数值近似或迭代   收敛到期望的解决方案的准确性和错误的讨论   很重要。

     

在十进制中无理(例如√2)和超越(例如   )数字不能有精确的表示,最合理   数字也没有用十进制表示法精确表示。   以十进制表示1/3可以近似为0.3或   0.333333333或其他一些任意大的表示。提供1/3的十进制值表示将除法表示为浮动   点数。“

为了使开发更简单,我的问题如下:

1-鉴于我知道我的计算在“scale”“precision”方面的预期,✝在我的app中进行所有计算都有任何缺点使用BigDecimal类型?我想保持简单,这似乎与金融方程有关(例如投资回报率,复利率等)。你觉得怎么样?

2-我注意到,当答案属于“无理性”或“超越”范围内时,核心Java库不提供计算BigDecimals的方法。这可能是因为Sun或Oracle决定将“举证责任”留给开发人员在其自己的应用程序中扩展,这在数值准确性方面被认为是可接受的。但是,我发现了一个BigBecimal库,它似乎实现了核心库中与非理性和超越数相关的大多数方法。它是在康奈尔大学图书馆找到的图书馆...您可以点击herefiles点击此处。这个库是否允许我计算金融方程而不必抛出BigDecimal类型,除了结果toString()?

对这些问题的任何反馈都将受到高度赞赏。

如果您对Java Financial Math感兴趣,那么他的书很精彩。

✝✝如果您不熟悉“scale& amp;精确“你可以在这里读到一个很好的答案。

0 个答案:

没有答案