我正在尝试对JAVA + SQL中精确计算的选项建立一些简明概述。到目前为止,我已经找到以下选项:Java精确计算 - 使用选项
- 使用双打接受他们的缺点,没有去。在复杂的公式使用它们
- 使用BigDecimals的
- 对我来说是有问题的
- 使用的String.format/Decimal.format圆双打
- 我需要四舍五入每个变量式或只是结果得到BigDecimal精度?
- 这怎么调整?
- 使用SQL中的计算字段选项。
- 的缺点是,我需要动态SQL从不同的表中取出数据+计算上的其他计算领域和领域将变得混乱
任何其他的选择吗?
问题声明: 我需要精确的财务计算,其中涉及使用非常大(十亿)和非常小的数字(0.0000004321),并且还将彼此非常相似的值相除,所以我确定需要精确度为BigDecimal 。另一方面,我想保留在函数中加倍的易用性(我使用十进制SQL数据处理数组),所以计算如下:(a [i] - b [i])/ b [ i]等等,它们在其他计算中被进一步使用。我希望用户能够根据需要设计自己的公式(使用常见的数学语句)
我非常希望为String.format使用“格式”解决方案,但这会使代码不够可读(对每个变量使用String.format()...)。
非常感谢您对如何处理这些东西的建议。
这可能有助于... http://stackoverflow.com/questions/8636228/bigdecimal-notation-eclipse-plugin-or-nice-external-tool – Maxx 2013-04-26 10:39:43
您的要求设计打破,回去分析阶段。任何财务资料,如果没有固定的,强制性的和详尽的定义,以及如何实施舍入,那么第一个或第二个人就会认为它是错误的*。 – Durandal 2013-04-26 13:39:42