设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

123下一页
返回列表 发新帖
查看: 10069|回复: 26
打印 上一主题 下一主题

[其它] 如何能实现真正的保留两位小数

[复制链接]
跳转到指定楼层
1#
发表于 2002-5-12 06:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在字段设计的时候,把小数位数设置成为2位,把格式设置为#。00,但是一些计算结果的字段虽然显示是两位小数,但我输出到WORD或EXECL时,得到的还是3位甚至4、5位,这样得到的结果很不准确,如何能让结果自动的进行四舍五入,我们这对这个要求的很严格,我想了很多办法也不能解决,请各位帮忙,谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-5-12 16:20:00 | 只看该作者
ROUND
3#
 楼主| 发表于 2002-5-23 04:27:00 | 只看该作者
我今天上午试了,基本上可以,但是我这round(0.005,2)是等于0的,我在EXECL里也试了一下,在EXECL里设置单元格的格式为小数两位,0.005等于0.01的,为什么,是不是美国佬的四舍五入和俺们中国的不一样,难道一定要写一个函数来处理吗,

点击这里给我发消息

4#
发表于 2002-5-23 05:14:00 | 只看该作者
我记得2000以前版本要自己写round函数,2000或之后版本可直接引用
5#
 楼主| 发表于 2002-5-23 17:49:00 | 只看该作者
谢谢TONY了,我用的正是2000,有没有现成的例子呀,我不想自已写
6#
发表于 2002-5-24 09:00:00 | 只看该作者
这是因为ACCESS使用的是完全不同的进位方法,它将5进位至最近的奇数.
如你想使用传统的进位方法需要自已动手编制,请参考下列公式.N代表位数,X代表数字对象.
Xrounded = fix(10^N * X + 0.5) / 10^N (该公式处理负数时会不正确)

Ps.ACCESS这种进位方法进行计算时误差更小.

参考如下:

                  2 位                  2 位
原数          标准进位法              ACCESS所用进位法
  54.1754      54.18                  54.18
343.2050     343.21                 343.20
+106.2038    +106.20                +106.20
=========    =======                =======
503.5842     503.59                 503.58

(ACCESS所用进位法差距0.0042,而标准进位法误差为0.0058)

点击这里给我发消息

7#
发表于 2002-5-24 10:49:00 | 只看该作者

ACCESS 2000、ACCESS XP实测结果:

?round(.00500000000000000054,2)
.01
?round(.00500000000000000053,2)
0

[fly][em27][/fly]
8#
发表于 2002-5-25 00:53:00 | 只看该作者
老朱,亏你怎么想到测试这两个数的?

点击这里给我发消息

9#
发表于 2002-5-25 01:18:00 | 只看该作者
该不是你前后两个月的工资吧,ACCESS没给你进位,你记在心里啊
5354 粤语中正是不三不四 :)

点击这里给我发消息

10#
发表于 2002-5-25 01:36:00 | 只看该作者

这两个数值很有意义!

[move][em27][/move]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-11 02:28 , Processed in 0.139866 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表