关于hibernate更新数据库的问题!

kook_82 2010-03-23 03:14:27
框架用的是 jsf+spring+hibernate, 数据库用的是sqlserver 2000。
在用程序更新数据库过程中,Float的数据总是不对,比如:更新某个FLoat字段为30.6,更新后去数据库中找,该字段呗更新成了30.6000003814697, 哪位高手能告诉我是怎么回事?如何解决?
...全文
143 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kook_82 2010-03-23
  • 打赏
  • 举报
回复
首先感谢大家的回复!
我的程序是一个从PB改为java的程序,PB程序已经定型,并且交付客户开始使用多年。现在由于客户公司里的人员经常出差,所以要做一个web的程序方便出差人员操作,所以数据库是不能改动的,而且以前PB程序没有做相应的处理,光我这边做四舍五入处理是不行的。
程序已经做出来大半了,Float类型的数据很多(Double类型的也不少,还没来得及看有没有同样的问题),而且有很多复杂的运算,所以改动起来很麻烦。
BearKin 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kook_82 的回复:]
引用 2 楼 soli11722984 的回复:
不用float
用BigDecimal

有没有别的办法?因为项目已经进行了大半了,要是把所有的float改成BigDecimal,改动量太大了。
[/Quote]

保存进去之前四舍五入 不过我发现了个小问题 用MYSQL的话他的精度我怎么舍都是取出来都是这样的
这改动量有多大? 如果你的这类属性不需要参与计算的话 我都建议你用varchar了。。
wanglf1207 2010-03-23
  • 打赏
  • 举报
回复
感觉上只能换数据类型了,再想想
emon123 2010-03-23
  • 打赏
  • 举报
回复
在该字段建立约束试试!
kook_82 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 soli11722984 的回复:]
不用float
用BigDecimal
[/Quote]
有没有别的办法?因为项目已经进行了大半了,要是把所有的float改成BigDecimal,改动量太大了。
kook_82 2010-03-23
  • 打赏
  • 举报
回复
大家忙帮呀!!!!!!!!!!!
soli11722984 2010-03-23
  • 打赏
  • 举报
回复
不用float
用BigDecimal
kook_82 2010-03-23
  • 打赏
  • 举报
回复
大家忙帮呀!!!!!!!!!!!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧