【发布时间】:2011-07-13 10:38:30
【问题描述】:
该操作应尽量保持与原始输入相同类型的答案,因此如果持有者以 Double 开头,则结果也应为 double。
如果输入包含不同数字类型的持有者,那么它应该自动加宽等。
应该有一种带有 getter 的 Holder,以整数、双精度、大十进制、大整数等形式返回结果,如果转换失败则抛出异常。
代码应该类似于 Bigdecimal。
理想情况下是不可变的
代码不应该知道或关心持有人里面的东西,操作只是在以后需要转换之前工作。
不幸的是,BigDecimal 并不能满足我的需要,它缺少许多关键功能,例如:正弦、对数和 Math 上的大多数静态助手。
ApacheCommonsMath
Axelcb 建议使用 apache commons 数学库。就我而言,主要的使用类别似乎是 DFP。
检查 DFP 没有简单的方法可以传递 BigDecimal/BigInteger 并构建 DFP。如果精度也可以作为参数并在吸入过程中使用,那就太好了。
没有任何函数(如乘法)接受具有精度和舍入的上下文,就像 BigDecimal 一样。我真的不明白处理精度和舍入的笨拙方式的原因。
什么是 DfpField,它具体做什么以及为什么 DFP 中有字段?请不要再告诉我这个日历。
没有导出到 BigDecimal 或 BigInteger 的方法
dfp
这是 apache commons math DFP 类的原始灵感吗?
缺乏从 BigDecimal 或 BigInteger 导入的第一个问题。
没有导出到 BigDecimal 或 BigInteger 的方法
【问题讨论】:
-
这听起来像是一个愿望问题在哪里;-)
标签: java math bigdecimal