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

上記の式の答えは0である必要があり、ifループには入らないが、ループ内に入るため、if条件はtrueである必要があります。

式のビジュアルスタジオデバッガーで-1.77635683940025E-15を取得していますCDbl(chAmount) + CDbl(totalRefundAmount) - CDbl(voidQueueRefundAmount) - CDbl(amount)

VisualStudioデバッガーの次のスクリーンショットを参照してください。 http://screencast.com/t/73PyutXB07R1

4

1 に答える 1

1

これDoubleは、変換先が浮動小数点であるためです。

Double通貨を扱っているときになぜに変換するのですか?CCur()の代わりに使用してくださいCDbl()

于 2012-11-26T17:26:50.543 に答える