Java ResultSet.getBigDecimal() Oracle 的扩展问题

Java ResultSet.getBigDecimal() scale issue with Oracle

使用 Oracle 11g.

使用 JDBC ResultSet.getBigDecimal(columnName) 从中读取 number(18, 8) 列 - 值为 1,这就是 returned。但是,我希望它 return 1.00000000.

有办法得到吗?我尝试了 ResultSet.getBigDecimal(columnName, 8)(我知道它已被弃用,但无论如何都想尝试)。没用。

试试这个:

BigDecimal bd = new BigDecimal( "1.0" );
System.out.println( bd );
bd = bd.setScale( 6 );
System.out.println( bd );

规模属性影响BigDecimal.toString()

这可能是解决方案:

ResultSet.getBigDecimal(columnName).setScale(8);