我在Oracle当中的数据类型是NUMBER(3)。
然后我在Java中的数据类型是BigDecimal。
存取都很正常,但是我在插入1000的时候他就抛出了以下这种异常,请问如何解决?
java.sql.SQLException: ORA-01438: 被指定的精度超过列所指定范围就是想问一下如何判断BigDecimal的值大于了NUMBER(3)呢?
NUMBER(3)的意思是什么呢?小于三位的整数吗?
然后我在Java中的数据类型是BigDecimal。
存取都很正常,但是我在插入1000的时候他就抛出了以下这种异常,请问如何解决?
java.sql.SQLException: ORA-01438: 被指定的精度超过列所指定范围就是想问一下如何判断BigDecimal的值大于了NUMBER(3)呢?
NUMBER(3)的意思是什么呢?小于三位的整数吗?
解决方案 »
- 模块权限动态分配
- Java环境变量问题求助
- 身在瑞典求救!很基础的问题,有关linux平台上用java做一个C/S系统
- 一个笨笨的小问题,请问JMF新版本jmf2.1.1e 是什么时候更新的,有个大概的日期就行
- 帮帮忙吧!!!!!!
- 在SWING中怎么调用保存文件和打开文件的对话框?有没有?
- 这个问题我一点思路也没有.....
- !!!!!!!!求 java 文件多线程下载程序!!!!!!!!
- UP有分!UP有分!UP有分!!!!!!!!大家各抒己见:JAVA的未来!!!!!UP有分!UP有分!UP有分!!
- 小问题,老鸟们花几秒钟来看看了!
- 关于静态方法的一个疑问
- 谁能帮我解决JAVA这个问题 编译时没错 但是运行时就出错了
BigDecimal类型数据对位数不做限制,理论上可以任意大,你可以用BigDecimal下的DoubleValue()函数,得到它相对应的double类型值,然后去和num(3)进行比较
ps:不要将BigDecimal转换为int类型,因为BigDecimal可以带小数点,但转换为int后小数点以后的数字会删去,比较大小就不准确了。