一尘不染

Java BigDecimal三角函数方法

java

我正在开发一个数学解析器,它能够评估String
'5+b*sqrt(c^2)'。我正在使用ANTLR进行解析,并取得了良好的进展。现在,我跌倒Java类BigDecimal并思考:嘿,为什么不在这里考虑精度。

我的问题是Java API没有为BigDecimals like 提供三角函数java.lang.Math。您是否知道是否有诸如Apache
Commons这样的好数学库可以解决此问题?

另一个问题是如何实现幂方法,以便我可以用BigDecimals 计算4.9 ^ 1.4 。这可能吗?

关于数字计算的书要求也被赞赏。


阅读 739

收藏
2020-09-08

共1个答案

一尘不染

ApFloat是一个库,其中包含三角函数和非整数幂的任意精度近似值;但是,它使用自己的内部表示形式,而不是BigDecimalBigInteger。我以前没有使用过它,所以我不能保证它的正确性或性能特征,但是api似乎相当完整。

2020-09-08