java - 一个功能更丰富的数字(比 Bigdecimal)持有 java 库

标签 java math bigdecimal

  • 操作应尽量保持与原始输入类型相同的答案,因此如果持有者以 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/

相关文章:

sqlite - 数学表达式在Google中有效,但在sqlite或KornShell中无效。

java - 将没有小数部分的 BigDecimal 表示为整数

java - 从 float 转换为 BigDecimal 然后再转换回来是否危险?

Java Web 应用程序。 Spring Boot 。定位图像

c++ - 将角度表示为 cos/sin 对

Java 算术 int 与 long

java - 如何使用 BigDecimal 正确除法

java - 用于拖放图像文件的面板,带有 java swing

java - 创建自己的检查异常

java - 如何制作启动类的 Eclipse 调试启动器