极其郁闷的SQLServer中的float类型,求助!

OCRS 2006-04-14 08:40:41
a,b,c:float
d,e:float

我在数据库表中看到的结果是
a b, c, d, e
28882.8 20917.2 7965.6 452.0 0.0

我在查询分析其中执行:select (a-b-c)/(d+e)
结果:-1.8189894035458565E-12

后来select a,b,c
发现结果如下:28882.799999999999,20917.200000000001,7965.6000000000004????为什么不一样?怎么办?


...全文
240 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjw01592 2006-04-14
  • 打赏
  • 举报
回复
出现这样的情况很正常啊
OCRS 2006-04-14
  • 打赏
  • 举报
回复
非常感谢楼上几位大哥,谢谢了
jasonren 2006-04-14
  • 打赏
  • 举报
回复
用decimal吧,在设计表的时候确定它的整数长度和小数长度.
yesyesyes 2006-04-14
  • 打赏
  • 举报
回复
浮点数据就是这样的
可用decimal或numeric
xeqtr1982 2006-04-14
  • 打赏
  • 举报
回复
float 和 real
用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。
zlp321002 2006-04-14
  • 打赏
  • 举报
回复
是数据库精度问题.

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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