首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
其他数据库开发
Access
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
字段里面怎么控制小数位数
[已结贴,结贴人:Eric2Smile]
加为好友
发送私信
在线聊天
Eric2Smile
篮球公园
等级:
发表于:
2008-04-24 14:27:21
楼主
有个“成绩”字段,是double型的,我在按钮代码里面通过计算出一个值存放到了一个double型变量a里面。
现在我把a的值赋给“成绩”字段,结果表里面的值有好多位小数,请问怎么样让该字段的值只有一位小数?在代码里对变量做操作还是对字段属性做设置?
问题点数:
20
回复次数:
16
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
WWWWA
aaaa
等级:
发表于:
2008-04-24 14:29:52
1
楼 得分:
4
存储格式是不能改变的,用FORMAT改变显示格式
ss=format(123456.7789,'######.##')
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Eric2Smile
篮球公园
等级:
发表于:
2008-04-24 14:38:41
2
楼 得分:
0
是说这样吗?
set ss=currentdb.openrecordset("table")
ss.addnew
ss("成绩")=a
ss=format(123456.7789,'######.#')
ss.update
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
WWWWA
aaaa
等级:
发表于:
2008-04-24 14:43:55
3
楼 得分:
2
不是,存入数据不需要转换,当要显示时才用FORMAT
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liuyann
╔──────────╗ │ 有问必答,有分必给 │ ╚──────────╝
等级:
发表于:
2008-04-24 20:04:47
4
楼 得分:
4
现在我把a的值赋给“成绩”字段,结果表里面的值有好多位小数.
由于计算机本身的限制,无法精确地用浮点数来表示小数,参见IEEE 754
所以在你的表结构中改一下,把字段类型改成decimal,用这种格式可以无误差的表示小数,当然牺牲一点效率
=
=
=
=
思
想
重
于
技
巧
=
=
=
=
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liuyann
╔──────────╗ │ 有问必答,有分必给 │ ╚──────────╝
等级:
发表于:
2008-04-24 20:06:59
5
楼 得分:
0
或者用
货币
用于存储货币值,并且计算期间禁止四舍五入。
存储 8 个字节。
=
=
=
=
思
想
重
于
技
巧
=
=
=
=
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Eric2Smile
篮球公园
等级:
发表于:
2008-04-24 21:10:17
6
楼 得分:
0
字段类型改成decimal的过后,只能存整数了~~ 程序执行时说,字段长度会被截短,结果看表里存储的结果,存的都是整数,连一位小数都没有
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liuyann
╔──────────╗ │ 有问必答,有分必给 │ ╚──────────╝
等级:
发表于:
2008-04-24 21:12:22
7
楼 得分:
5
decimal
需要在字段类型中指定一下小数的位数 ,你不指定的话,默认小数位为0
=
=
=
=
思
想
重
于
技
巧
=
=
=
=
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Eric2Smile
篮球公园
等级:
发表于:
2008-04-24 22:43:00
8
楼 得分:
0
不是吧,DECIMAL它默认小数位就是1位的啊~
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liuyann
╔──────────╗ │ 有问必答,有分必给 │ ╚──────────╝
等级:
发表于:
2008-04-24 22:44:41
9
楼 得分:
5
不会啊,
precision 18
scale 0
小数位是0, 不管多少, 改成你想要的值就行了
=
=
=
=
思
想
重
于
技
巧
=
=
=
=
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Eric2Smile
篮球公园
等级:
发表于:
2008-04-24 22:54:37
10
楼 得分:
0
是说把那个 数值范围从0改成1啊?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liuyann
╔──────────╗ │ 有问必答,有分必给 │ ╚──────────╝
等级:
发表于:
2008-04-24 22:57:08
11
楼 得分:
0
小数位默认是0
你准备让小数有几位,就改成几
=
=
=
=
思
想
重
于
技
巧
=
=
=
=
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Eric2Smile
篮球公园
等级:
发表于:
2008-04-24 22:59:03
12
楼 得分:
0
改成1到是只保留了1位小数了,但是程序运行要将double变量的值写進数据库的时候,出编译错误了~
说“对十進制的修改导致数据的截断”,然后就相当于操作失败了~~
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liuyann
╔──────────╗ │ 有问必答,有分必给 │ ╚──────────╝
等级:
发表于:
2008-04-24 22:59:55
13
楼 得分:
0
能把自己的问题清晰的告诉别人是件很难的事.
上传MDB文件 www.access911.net/csdn
或
加入QQ群 19055578 晚19:00 - 24:00在线
=
=
=
=
思
想
重
于
技
巧
=
=
=
=
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
UltraBejing
OneNightInBejing
等级:
发表于:
2008-04-30 19:05:46
14
楼 得分:
0
该回复于2008-05-04 10:47:51被版主删除
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Eric2Smile
篮球公园
等级:
发表于:
2008-05-09 16:03:48
15
楼 得分:
0
我解决了,在程序里面用round(),赋值给表字段前就控制好小数位数
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
WWWWA
aaaa
等级:
发表于:
2008-05-09 16:06:28
16
楼 得分:
0
用FORMAT也可以,自己解决更好,呵呵
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友