设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: t小宝
打印 上一主题 下一主题

[模块/函数] Round函数问题

[复制链接]
11#
发表于 2007-9-6 16:32:49 | 只看该作者
找了几组数字测试了一下
Round(1.355, 2)   -------- 1.36    (进位)
Round(1.345, 2)  --------- 1.34    (不进)
Round(1.235, 2) ---------  1.24    (进位)
Round(1.245, 2)  --------   1.25    (进位)
Round(1.125, 2) ---------  1.12    (不进)
Round(1.135, 2)----------  1.14    (进位)
Round(1.145, 2)----------  1.14    (不进)

点击这里给我发消息

12#
发表于 2007-9-6 17:05:25 | 只看该作者
andymark老师,只有Round(1.245, 2)  --------   1.25    (进位)  不应该进位,但在我的机子上结果是1.24,是不是输入有误?
13#
发表于 2007-9-6 17:12:06 | 只看该作者
我的机子是1.25
14#
发表于 2007-9-6 17:13:34 | 只看该作者
在vba中舍入规则好像是(统计学规定):四舍六入五六双,即五的上一位是偶数的舍五,奇数进一

[ 本帖最后由 sgrshh29 于 2007-9-6 17:15 编辑 ]
15#
发表于 2007-9-6 17:16:37 | 只看该作者
“四舍六入五成双”法则。
四舍六入五考虑,即当尾数≤4时舍去,尾数为6时进位。当尾数4舍为5时,则应是末位数是奇数还是偶数,5前为偶数应将5舍去,5前为奇数应将5进位。

这一法则的具体运用如下:

a. 将28.175和28.165处理成4位有效数字,则分别为28.18和28.16。

b. 若被舍弃的第一位数字大于5,则其前一位数字加1,例如28.2645处理成3为有效数字时,其被舍去的第一位数字为6,大于5,则有效数字应为28.3。

c. 若被舍其的第一位数字等于5,而其后数字全部为零时,则是被保留末位数字为奇数或偶数(零视为偶),而定进或舍,末位数是奇数时进1,末位数为偶数时还进1,例如28.350、28.250、28.050处理成3位有效数字时,分别为28.4、28.2、28.0。

d. 若被舍弃的第一位数字为5,而其后的数字并非全部为零时,则进1,例如28.2501,只取3位有效数字时,成为28.3。

e. 若被舍弃的数字包括几位数字时,不得对该数字进行连续修约,而应根据以上各条作一次处理。如2.154546 ,只取3位有效数字时,应为2.15,二不得按下法连续修约为2.16:

2.154546→2.15455→2.1546→2.155→2.16
16#
发表于 2007-9-6 21:06:04 | 只看该作者
学习...
17#
发表于 2008-9-5 08:52:04 | 只看该作者
原帖由 andymark 于 2007-9-6 00:23 发表
我测试的结果2者都是1.94
Round函数有BUG,结果有点随意,用下面的函数代替Round

Public Function RoundToLarger(dblInput As Double, intDecimals As Integer) As Double '四舍五入
    Dim strFormatString As ...


请问如果要有查询中使用四舍五入,这段代码如何使用???我是新手不懂
18#
发表于 2008-11-11 11:56:17 | 只看该作者

现在明白了

现在明白了,谢谢各位
19#
发表于 2008-11-14 19:38:51 | 只看该作者
第一次听说,学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-1-10 07:16 , Processed in 0.093530 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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