| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1070 人关注过本帖
标题:关于float数据类型存储数据
取消只看楼主 加入收藏
thjanxd
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-25
收藏
 问题点数:0 回复次数:2 
关于float数据类型存储数据
各位高手:
小弟有这样一个问题:
企业管理器中,创建表abcc
这样的结构           列:      a float(8)
                               b float(8)
                               c float(8)
存储过程中创建
creat procedure dbo.bbb @a float(8)
insert into abcc (a,b,c) values (@a,@a*.2,@a*.08)
go
查询分析器中运行该存储过程(在对象浏览器中,右键打开存储过程运行)参数@a =12345678.1234
得到结果
                  a                b                c
                12345678          2469135.75        987654.1875
如果在查询分析器中直接写语句
insert into abcc (a,b,c) values (12345678.1234,12345678.1234*.2,12345678.1234*.08)
得到结果
                    a                   b                c
                12345678.1234       249135.62468       987654.249872
我想问一下,为什么执行的同一个语句,存储过程运行的结果会有这么大的误差,怎么避免?如何设置下存储过程?
因为这些数字都是钱数、金额,最大误差也得在小数点后2位,也就是到分,现在的误差太大了
请高手指教。


另外,那位大侠有关于float 数据类型的详细介绍,给提供一下,我搜不到,联机帮助介绍的也少。

[[it] 本帖最后由 thjanxd 于 2008-4-25 14:56 编辑 [/it]]
搜索更多相关主题的帖子: float 数据 类型 
2008-04-25 14:54
thjanxd
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-25
收藏
得分:0 
你的电脑按照我的操作方法两次得到同样结果么?
电脑精度该在哪里调啊?不懂啊
2008-04-25 15:56
thjanxd
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-4-25
收藏
得分:0 
你运行那个存储过程是怎么运行的?
是在查询分析器中写语句,还是用鼠标操作的?
2008-04-25 15:57
快速回复:关于float数据类型存储数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014352 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved