首页 > 解决方案 > 为什么我用 Excel VBA 减去两个数字时会出现小数错误?

问题描述

我做了一个简化的例子来说明我的问题。当从另一个数字中减去一个数字时,我得到一个错误的结果。我可以用 2 位小数将结果四舍五入,但这更像是一种解决方法。

Sub Test()
    Dim Sale As Double
    Dim Fee As Double
    Dim Payment As Double
    Payment = 104953.98
    Sale = 105000
    Fee = Sale - Payment
End Sub

在即时窗口中测试代码显示费用计算为 46,0200000000041,这是错误的。

标签: excelvbadecimal

解决方案


如果出于某种原因需要它们成为双精度数,请在进行数学运算之前将它们转换为小数:

Fee = CDec(Sale) - CDec(Payment)

类型转换函数


推荐阅读