Математическое выражение 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, но идет внутри цикла.
Я получаю -1.77635683940025E-15 в отладчике Visual Studio для выражения CDbl(chAmount) + CDbl(totalRefundAmount) - CDbl(voidQueueRefundAmount) - CDbl(amount)
смотрите следующий скриншот визуального отладчика студии. http://screencast.com/t/73PyutXB07R1
1 ответ
Решение
Это потому что Double
вы конвертируете в это с плавающей точкой.
Зачем конвертировать в Double
когда вы имеете дело с валютами? использование CCur()
вместо CDbl()
,