Office中国论坛/Access中国论坛

标题: 度分秒转十进制出错问题,请高手指点 [打印本页]

作者: haider2    时间: 2008-11-19 21:00
标题: 度分秒转十进制出错问题,请高手指点
Public Function TODMS(n As Double)
Dim A As Double, B As Double, C As Double
A = Int(n)
B = Int(100 * (n - Int(n)) * 0.6) / 100
C = (100 * (n - Int(n)) * 0.6 - Int(100 * (n - Int(n)) * 0.6)) * 0.006
TODMS = A + B + C
End Function

自定义函数
将度分秒转为十进制,在60-90的10分或11分整时结果出错,如输入60.11得结果60.1833333,而不是正确结果60.1666666666请高手指点
作者: 方漠    时间: 2008-11-19 21:24
n 的小数最长有多少位,如果不超过4位,用CUR就足够.
将ABC n 全部定义为CURRENCY试一下.

双精度的数据在计算时,会有一定的偏差.
作者: haider2    时间: 2008-11-19 21:40
不行,只有在60-90的整10分和11分出现问题,其它都对,而我用vb写出来的计算又对,在excel中计算错误




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3