设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[Access本身] 关于四舍五入问题

[复制链接]
跳转到指定楼层
1#
发表于 2007-3-27 21:03:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



用的round函数保留一位小数时出现5时不进位的问题,见附件

如2.25 应该是2.3,但是实际取到2.2,不知道什么原因,请高手指点

但是2.35取到的是2.4


[此贴子已经被作者于2007-3-27 13:09:17编辑过]

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-3-27 21:33:00 | 只看该作者
这是以前从网上找到关于解决四舍五入的方法,看看能不能满足你的要求


'作者:huanghai 文章来源:AccessQQ  更新时间:2004-11-23
'自定义自四舍五入函数
'解决ACCESS97以下版本不支持Round函数
'解决Round"有名"的四舍六入现象

'参数: Number , 要进入四舍五入的数值
'参数:N,要保留的小数位数,不足时以0补上

'用法:
'Print myRound(1.4367, 2)
'1.44
Function myRound(Number As Double, N As Integer) As String
    myRound = Format(Int(Number * (10 ^ N) + 0.5) / (10 ^ N), "0." & String(N, "0"))
End Function


3#
 楼主| 发表于 2007-3-27 23:31:00 | 只看该作者
谢谢,我的解决方法是加0.00000000001,就可以正常进位了

如:round(2.25+0.000000001,1)就得到2.3可以正常进位

我想知道这是不是一个BUG啊,害得我工作中差点处理大问题。
4#
发表于 2008-5-29 21:53:19 | 只看该作者
[:30] 学习了呵呵
5#
发表于 2008-7-16 07:14:01 | 只看该作者
[:28] [:28]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-10-6 19:23 , Processed in 0.164469 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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