操作应尽量保持与原始输入类型相同的答案,因此如果持有者以 Double 开头,则结果也应该是 double。
如果输入包含不同数字类型的持有者,那么它应该自动加宽等。
应该有一种带有 getter 的单一类型的 Holder,以整数、 double 、大十进制、大整数等形式返回结果,如果转换失败则抛出异常。
代码应该类似于 Bigdecimal。
理想情况下是不可变的
代码不应该知道或关心 holder 里面有什么,操作只是工作直到稍后需要转换。
不幸的是,BigDecimal 并没有真正满足我的需求,它缺少许多关键函数,例如:正弦、对数和 Math 上的大多数静态助手。
ApacheCommonsMath
Axelcb 建议使用 apache 公共(public)数学库。在我的案例中,主要的用途类别似乎是 DFP。
检查 DFP 没有简单的方法来传递 BigDecimal/BigInteger 并构建 DFP。如果精度也成为一个参数并在吸入过程中使用,那就太好了。
没有任何函数(如乘法)像 BigDecimal 一样接受带精度和舍入的上下文。我真的不明白处理精度和舍入的笨拙方式的原因。
什么是 DfpField,它的具体作用是什么以及为什么 DFP 中有字段???请不要再告诉我这个日历。
没有导出到 BigDecimal 或 BigInteger 的方法
dfp
这是 apache commons 数学 DFP 类(class)的最初灵感吗?
缺少从 BigDecimal 或 BigInteger 导入的第一个问题。
没有导出到 BigDecimal 或 BigInteger 的方法
最佳答案
您可以试试 gnu.math 包来自 kawa language framework用于实现完整的方案“数字塔”。该包应该非常独立,并且独立于 kawa 的其余部分。
关于java - 一个功能更丰富的数字(比 Bigdecimal)持有 java 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5272373/