gpt4 book ai didi

Java 精确计算 - 使用选项

转载 作者:行者123 更新时间:2023-11-30 07:17:24 24 4
gpt4 key购买 nike

我正在尝试对我们在 JAVA+SQL 中有哪些精确计算选项进行简要概述。到目前为止,我发现了以下选项:

  1. 使用 double 接受他们的缺点,不去。
  2. 使用 BigDecimals
    • 在复杂的公式中使用它们对我来说是有问题的
  3. 使用 String.format/Decimal.format 舍入 double
    • 我是否需要对公式中的每个变量进行舍入或仅对结果进行舍入以获得 BigDecimal 精度?
    • 如何调整?
  4. 在 SQL 中使用计算字段选项。
    • 缺点是我需要动态 SQL 来从不同的表中提取数据 + 在其他计算字段上计算字段,这会变得困惑

还有其他选择吗?

问题陈述:我需要精确的财务计算,这将涉及使用非常大的数字(十亿)和非常小的数字(0.0000004321),并且还要划分彼此非常相似的值,所以我肯定需要 BigDecimal 的精度。

另一方面,我想保留 double 函数在函数中的易用性(我处理来自十进制 SQL 数据的数组),因此计算如下:(a[i] - b[i])/b[i ] 等,进一步用于其他计算。我希望用户能够根据需要设计自己的公式(使用常见的数学语句)

我热衷于为 String.format 使用“格式化”解决方案,但这使得代码可读性不佳(对每个变量使用 String.format()...)。

非常感谢您提供有关如何处理这些东西的建议。

最佳答案

您无法避免floatdouble 中的浮点错误。这里没有免费的奶酪 - 使用 BigDecimal。

关于Java 精确计算 - 使用选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16234170/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com