设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2577|回复: 3
打印 上一主题 下一主题

[窗体] 为什么RoundToLarger函数对我的四舍五入不起作用呢?

[复制链接]
跳转到指定楼层
1#
发表于 2010-3-25 12:43:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的程序中需要用到四舍五入取整数,我在论坛上用搜索,用了RoundToLarger()函数,结果并不如意。

比如RoundToLarger(53.5,0),结果是54,而RoundToLarger(52.5,0),结果是52,而实际上我要的是53。

从论坛上的说法,尾数5的,其前一位单数进位,偶数舍去,如果5后面有数字的,一律进位,那我这种情况又这怎么办呢。

Public Function RoundToLarger(dblInput As Double, intDecimals As Integer) As Double '四舍五入
    Dim strFormatString As String
    If dblInput <> 0 Then
        strFormatString = "#." & String(intDecimals, "#")
        RoundToLarger = Format(dblInput, strFormatString)
    Else
        RoundToLarger = 0
    End If
End Function
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-3-25 13:19:40 | 只看该作者
应该简单的加0.5然后取整,例如:int(数+0.5)
3#
 楼主| 发表于 2010-3-25 19:53:22 | 只看该作者
可是+0.5也不对呀。
比如52.2+0.5,取整后是53,实际上我要的是52啊。
4#
发表于 2010-3-26 13:22:15 | 只看该作者
可是+0.5也不对呀。
比如52.2+0.5,取整后是53,实际上我要的是52啊。
简 发表于 2010-3-25 19:53


你验证过你的说法吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 19:37 , Processed in 0.086667 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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