vbscript数学表达式不起作用

时间:2012-11-26 17:24:50

标签: asp-classic vbscript

在我的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

1 个答案:

答案 0 :(得分:1)

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

为什么在处理货币时转换为Double?使用CCur()代替CDbl()