Математическое выражение 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(),

Другие вопросы по тегам