oracle sql 数据库中的 NUMBER 数据类型从 java 插入的舍入值
NUMBER datatype in oracle sql database rounding values inserted from java
我正在将 java 中的数据插入到 oracle 数据库中。
ps1.setDouble(4, Double.parseDouble(record.get(3)));
record.get(3) 是一个包含 -250.8 的字符串。就算我做了
System.out.println(Double.parseDouble(record.get(3)));
我得到 -250.8
代码运行正常,但我在oracle数据库中看到的是-251。 Oracle 中的数据类型是 Number(38,0)
,它接受十进制数。
如何在 oracle 中显示十进制值?
我也在 Java 中尝试了 Float 而不是 Double 但没有成功
NUMBER(38,0)
的Oracle数据类型意味着该列的精度为38,小数位数为0。这意味着该列最多可以存储38位但小数点后0位的值地方。也就是说,它只允许整数。如果您尝试插入非整数值,作为 INSERT
操作的一部分,该值必须四舍五入为最接近的整数。
如果要允许列具有 5 个小数位的值,则需要将其定义为 NUMBER(38,5)
。
我正在将 java 中的数据插入到 oracle 数据库中。
ps1.setDouble(4, Double.parseDouble(record.get(3)));
record.get(3) 是一个包含 -250.8 的字符串。就算我做了
System.out.println(Double.parseDouble(record.get(3)));
我得到 -250.8
代码运行正常,但我在oracle数据库中看到的是-251。 Oracle 中的数据类型是 Number(38,0)
,它接受十进制数。
如何在 oracle 中显示十进制值?
我也在 Java 中尝试了 Float 而不是 Double 但没有成功
NUMBER(38,0)
的Oracle数据类型意味着该列的精度为38,小数位数为0。这意味着该列最多可以存储38位但小数点后0位的值地方。也就是说,它只允许整数。如果您尝试插入非整数值,作为 INSERT
操作的一部分,该值必须四舍五入为最接近的整数。
如果要允许列具有 5 个小数位的值,则需要将其定义为 NUMBER(38,5)
。