0

在我的 asp 代码中,我有 4 个具有不同值的变量。

chAmount = 19.99
totalRefundAmount =0
voidQueueRefundAmount =15.99
amount=4

当我执行以下语句时

if (CDbl(chAmount) + CDbl(totalRefundAmount) - CDbl(voidQueueRefundAmount) - CDbl(amount) < 0.00) then
end if

if 条件为真,而它不应该是因为上面表达式的答案应该是 0 并且它不应该进入 if 循环,但它会进入循环内。

我在 Visual Studio 调试器中得到 -1.77635683940025E-15 的表达式CDbl(chAmount) + CDbl(totalRefundAmount) - CDbl(voidQueueRefundAmount) - CDbl(amount)

请参阅以下 Visual Studio 调试器的屏幕截图。 http://screencast.com/t/73PyutXB07R1

4

1 回答 1

1

那是因为Double您要转换为浮点数。

Double为什么在处理货币时转换为?使用CCur()而不是CDbl().

于 2012-11-26T17:26:50.543 回答