【access小品】测量数据修约
时 间:2010-07-04 00:00:00
作 者:todaynew ID:10802 城市:武汉
摘 要:测量数据修约
正 文:
版友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交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- Access控件美化之--美化按钮...(04.19)
- Access多行文本按指定字符筛选...(04.18)
- Microsoft Access数...(04.18)
- 仓库管理实战课程(12)-月度结存...(04.16)
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)