0

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() 关联的默认精度是多少?

4

0 回答 0