我正在使用 JDBC 接口从 DB2 数据库中复制一些行。我担心的是:有些列被定义为 DECIMAL 15。在 DB2 内部,这些列存储为二进制编码的十进制。在 Java 中通过双精度变量复制这些可能会丢失一些精度。由于该程序将在银行中运行,因此这肯定是一个问题。
处理它的最佳方法是什么?
我正在使用 JDBC 接口从 DB2 数据库中复制一些行。我担心的是:有些列被定义为 DECIMAL 15。在 DB2 内部,这些列存储为二进制编码的十进制。在 Java 中通过双精度变量复制这些可能会丢失一些精度。由于该程序将在银行中运行,因此这肯定是一个问题。
处理它的最佳方法是什么?
为什么不使用ResultSet.getBigDecimal()
?
Javadoc 指出:
检索此 ResultSet 对象的当前行中指定列的值,作为
java.math.BigDecimal
具有全精度的 a 。