ResultSet getDouble给出不正确的值

时间:2012-05-08 06:05:39

标签: jdbc

1)我有一个Sybase数据库,其中包含一个表'TABLE1'的表。其中一个字段是'X'(在商业术语中代表货币),在该表中有'float'类型。不幸的是,我无法更改此列的类型,因为如果我这样做,很多应用程序都会受到影响。

2)我在JDBC中使用jconn2.jar。我使用getDouble()检索'X'(我在某处读到浮点数,双SQL类型最好映射为双'java数据类型')。

3)数据库中存储在“X”中的值为“212400000”。当我做一个getDouble(int col)时,我得到'212399999.99999997'(科学形式)。我正在失去精确度。我知道有些数字不能在基数2中准确表示,因此我们在使用double时会看到一些不正确的输出。

4)我尝试过getBigDecimal但是徒劳无功。我被卡住了。有人可以指导我完成相同的工作吗?

编辑: - 我需要问的一个问题是,有哪种方法可以使用getDouble()根据我需要的精度12,17等来检索一个值?与getDouble()相关的默认精度是什么?

0 个答案:

没有答案