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
为什么会丢失精度,算出错误的结果 ?
请大神指教。
...全文
146 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
羊粥炒饭 2013-06-07
  • 打赏
  • 举报
回复
下面那个我只是算算他的正确结果而已 ,上面那个不管跟谁走 他不能把结果算错了,要说跟前面avai_amount 的精度走,那也该是用零填充啊 不能来后面那么乱七八糟的。。
u010412956 2013-06-07
  • 打赏
  • 举报
回复
你这个比法就不对 1个是跟 avai_amount 的类型走 1个是跟被减的3.8走

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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