Asp classic vbscript数学表达式不起作用

Asp classic vbscript数学表达式不起作用,asp-classic,vbscript,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 如果(CDbl(chAmount)+CDbl(Total

在我的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
如果(CDbl(chAmount)+CDbl(TotalReturnAmount)-CDbl(VoidQueueReturnAmount)-CDbl(amount)<0.00,则
如果结束
if条件为true,但不应为true,因为上述表达式的答案应为0,并且不应进入if循环,但它正在循环中

我在visual studio调试器中得到表达式
CDbl(chAmount)+CDbl(totalreturnamount)-CDbl(voidqueuereturnamount)-CDbl(amount)的-1.77635683940025E-15

请参见以下VisualStudio调试器的屏幕截图。

这是因为您要转换的
双精度
是一个浮点

当你处理货币时,为什么要转换成双倍?使用而不是
CDbl()