Number类型的计算结果不对。

羊粥炒饭 2013-06-07 06:15:39
字段类型:avai_amount number(28,10)

UPDATE tms_cash_control_t t
SET t.avai_amount = 466486868.0000000000 - 3.8
WHERE t.id = 302;
--466486864.1999999880

SELECT 466486868.0000000000 - 3.8 FROM dual;
--466486864.2

我用上面update更新t.avai_amount的值 是--466486864.1999999880
但是正确的应该是下面的--466486864.2
为什么会丢失精度,算出错误的结果 ?
请大神指教。
...全文
95 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
羊粥炒饭 2013-06-07
下面那个我只是算算他的正确结果而已 ,上面那个不管跟谁走 他不能把结果算错了,要说跟前面avai_amount 的精度走,那也该是用零填充啊 不能来后面那么乱七八糟的。。
回复
hh7yx 2013-06-07
你这个比法就不对 1个是跟 avai_amount 的类型走 1个是跟被减的3.8走
回复
相关推荐
发帖
Oracle
创建于2007-09-28

1.6w+

社区成员

Oracle开发相关技术讨论
申请成为版主
帖子事件
创建了帖子
2013-06-07 06:15
社区公告
暂无公告