【access小品】测量数据修约-煮江品茶
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【access小品】测量数据修约

发表时间:2010/7/4 评论(7) 浏览(4993)  评论 | 加入收藏 | 复制
   
摘 要:测量数据修约
正 文:

版友1978贵阳排长问题:根据测量方面的资料规定:数据处理后修约遵循的规则是四舍六入五看奇偶,即当要修约的数大于5,不管其前面的数是否为奇偶,均进1,当要修约的数小于5,不管其头面的数是否为奇偶,均舍去(这与数学上常归的四舍五入规定一致);当要修约的数等于5时,且其后没有数据,则其前面的数为偶,则舍去,其前面的数为奇数,则进1;当要修约的数等于5时,且其后有不为0的数据,不管其前面是否是奇偶数,均要进1;如果要保存的位数不够,修约后的数据用0补上。

------------------------------------------------------------------------------------

解法:
Function rdVal(val As Double, dec As Long) As Double
Dim num As Long
Dim n As Long
num = Int(val * 10 ^ (dec + 1)) - Int(val * 10 ^ dec) * 10
If num < 5 or num > 5 Then
    rdVal = Round(val, dec)
Else
    If val * 10 ^ (dec + 1) - Int(val * 10 ^ (dec + 1)) < 1 / 10 ^ 6 Then
        n = Int(val * 10 ^ dec) - Int(val * 10 ^ (dec - 1)) * 10
        If n Mod 2 = 0 Then
            rdVal = Int(val * 10 ^ dec) / (10 ^ dec)
        Else
            rdVal = (Int(val * 10 ^ dec) + 1) / (10 ^ dec)
        End If
    Else
        rdVal = Round(val, dec)
    End If
End If
End Function

小数保留位补零问题为格式化输出问题用format解决,在此不论。

点击下载此附件

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
题库管理系统\考试题目数据库\模拟考试软件\测量学题库管理系统  【Trynew  2009/6/11】
用Between函数直接判定测量值是否ok  【蒋元根  2012/10/11】
说说数据库范式  【茼蒿  2013/6/5】
【Access教程】使用access数据库时可能用到的数据转换  【漏蛧尐魚℡  2013/6/13】
数据表中回车键换行方法  【杜超-2号  2013/6/22】
常见问答
技术分类
相关资源
文章搜索
关于作者

煮江品茶

文章分类

文章存档

友情链接