今天测试,发现我页面上输入小数,保存到数据库变成了整数,我检查了一遍,form,pojo,hbm配置文件,都是double类型,没有在哪里取整,然后突然想起来,oracle数据库没有int,double等类型,只有一个number类型,假设保存5位,小数保留两位,则定义如下:整数则定义为number(5),小数则定义为number(5,2)。
粗心大意,谨记!
本文记录了一次在Oracle数据库中存储小数时遇到的问题,即输入的小数在保存后变成了整数。经过排查,发现原因是Oracle数据库使用number类型来表示数字,而未正确指定小数位数。文中提醒开发者在定义字段时,对于小数应明确指定number(总位数,小数位数),以避免数据精度丢失。
今天测试,发现我页面上输入小数,保存到数据库变成了整数,我检查了一遍,form,pojo,hbm配置文件,都是double类型,没有在哪里取整,然后突然想起来,oracle数据库没有int,double等类型,只有一个number类型,假设保存5位,小数保留两位,则定义如下:整数则定义为number(5),小数则定义为number(5,2)。
粗心大意,谨记!

被折叠的 条评论
为什么被折叠?