0

我有一个我正在处理资金的 Android 应用程序。我听说 BigDecimal 是处理资金的最佳选择,但我在处理不同货币的字符串表示时遇到了麻烦,所以我从 float 切换到 BigDecimal。但是,我遇到了一个问题。如果我将我的 BigDecimals 作为 STRING 存储在我的 SQL 表中,我无法在它们上运行 SUM()!我可以在光标中拉出条目并以编程方式对它们进行求和,但是有更好的方法吗?

编辑:我切换到 NUMBER 类型,但现在我遇到了一个问题,即 SUM() 函数给了我一个浮点数,当我将它转换为 BigDecimal 时,我得到了额外的垃圾延伸到最后。

4

1 回答 1

1

我想我解决了。我使用 SQLite 的 TOTAL() 聚合函数将总和表示为浮点数,然后使用 Float.toString() 并将其放入新的 BigDecimal。

BigDecimal total = new BigDecimal(Float.toString(cur.getFloat(0)));
于 2013-07-05T10:46:41.817 回答