Oracle11g数据库float类型字段存值时精度丢失

问题遇到的现象和发生背景

写接口的时候发现存入数据库的值精度丢失 于是去数据库手动改值 结果还是一样会丢失精度不知道是什么原因 字段类型是float,本来想着用number定义精度,但是得先清空所有数据 并且所有表都是用的float类型

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

你可以使用
alter table 表名 modify 字段 number
进行执行更改,不存在精度丢失的情况下float改number应该可以直接修改成功。

float 丢失精度不是正常现象吗

float插进去就会丢失精度,number能比float的精度高一些
ORACLE的NUMBER可以支持到38位精度。超过15位存进去,就用科学记数法表示的,而且精度丢失了。

如果你想不丢失,使用字符串这个方案了

float 类型精度不能满足你的数据精度丢精度不是很正常,换number, ok?