Office中国论坛/Access中国论坛
标题:
关于VBA中浮点数减法的问题
[打印本页]
作者:
rgbso
时间:
2011-7-16 20:30
标题:
关于VBA中浮点数减法的问题
具体代码如下,怎么样才能使得MsgBox输出的结果是0.06呢?
Dim dblA As Double, dblB As Double
dblA = 0.68
dblB = 0.62
MsgBox dblA - dblB
请各位大侠指教!
作者:
roych
时间:
2011-7-17 02:32
把Double(双精度)改成Single(单精度)。
作者:
rgbso
时间:
2011-7-26 23:22
虽然这道题将数据类型改成Single(单精度)后,运行结果正确。
但是换了其它小数,还是会有问题。
例如:
Dim sngA As Single, sngB As Single
sngA = 0.0068
sngB = 0.0062
MsgBox sngA - sngB
今天在网上找到了彻底的解决方法:
Dim sngA As Single, sngB As Single
sngA = 0.0068
sngB = 0.0062
MsgBox CDec(sngA) - sngB
将类型转换成Decimal后再计算就可以了。
Decimal数据类型详细情况请看MSDN
Decimal只能用CDec()强行指定为Decimal类型。
Decimal速度没有整型快(那是当然的);如果对于精度没有过度要求,还是Single/Double吧。
谢谢版主的热心帮助了。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3