设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[与其它组件] ROUND四舍五入函数经常失效,有好的解决方法吗?

[复制链接]
跳转到指定楼层
1#
发表于 2005-6-6 18:51:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请帮我看看查询1中的“配件价格”字段,我用了ROUND函数,但显示出来还是有十几位小数,这是为什么?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-6-6 18:52:00 | 只看该作者
用这个Public Function MyRound(dblInput As Variant, Optional intDecimals As Integer) As Double

Dim strFormatString As String    '格式化字符串

    If IsNull(dblInput) Then MyRound = 0: Exit Function

       If dblInput <> 0 Then

       If IsNull(intDecimals) Or intdeximals = 0 Then

        MyRound = Val(Format(dblInput, "#"))

        Else

        strFormatString = "#." & String(Nz(intDecimals), "#")

        MyRound = Val(Format(dblInput, strFormatString))

        End If

    Else

        MyRound = 0

    End If

End Function

3#
发表于 2005-9-24 16:16:00 | 只看该作者
海狸,谢谢你冽!

应该是


Public Function MyRound(dblInput As Variant, Optional intDecimals As Integer) As Double
Dim strFormatString As String    '格式化字符串
    If IsNull(dblInput) Then MyRound = 0: Exit Function
       If dblInput <> 0 Then
       If IsNull(intDecimals) Or intDecimals = 0 Then
        MyRound = Val(Format(dblInput, "#"))
        Else
        strFormatString = "#." & String(Nz(intDecimals), "#")
        MyRound = Val(Format(dblInput, strFormatString))
        End If
    Else
        MyRound = 0
    End If
End Function




[此贴子已经被作者于2006-6-4 13:56:16编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-23 16:09 , Processed in 0.265312 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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