NutzCN Logo
问答 插入数据精度异常,能自动忽略小值吗
发布于 2800天前 作者 qq_8c799e25 1726 次浏览 复制 上一个帖子 下一个帖子
标签:

这个lh_buy_je是double类型:

@Column
private double lh_buy_je;

实际调试这个值是102253.19684

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Out of range value for column 'lh_buy_je' at row 1
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3876)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1192)
	at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:2931)

我能让它自动忽略后面的小值插入吗,还是每个字段都必须先保留几位小数再插入?

6 回复

int吗,还是啥,没懂

变量是double, 我通过String转成了Double类型, 用dao.insert插入对象的时候,这个变量报错

数据库字段类型是啥

@Column
private double lh_buy_je;

数据库是通过Daos.createTablesInPackage 自动建立的,decimal 长度 15,10

lh_buy_je 我保留两位小数 简约为102253.2 还是不行啊

额,0.2是无法用二进制表示是数值,有个办法就是@ColDefine定义更宽的字段宽度

添加回复
请先登陆
回到顶部