-1

私は VB を初めて使用します。クラス プロジェクトでは、以前にここで質問されたものと同様の変更計算機を作成する必要があります。未払い額と支払い済み額のラベルとテキストボックスがあります。所有している金額が支払った金額よりも多い場合、プログラムはメッセージを表示して顧客に注意を喚起し、さらにいくら支払うべきかを伝えます。

計算したのですが、メッセージに表示されている未払い額は-1です。

例: 未払い額: 25 支払額:10 というメッセージが表示されます。$ -1 追加でお支払いください。

何を間違えたのかわからず、立ち往生しています。どんな助けでも大歓迎です!

Option Strict On
Option Explicit On

Public Class Form1
Dim AmountPaid As Double
Dim AmountOwed As Double


Private Sub CalculateButton_Click(sender As Object, e As EventArgs) Handles       CalculateButton.Click
    'input amount owed from OwedMaskedTextBox
    'input paid amount from PaidTextBox
    AmountOwed = Convert.ToDouble(OwedTextBox.Text)
    AmountPaid = Convert.ToDouble(PaidTextBox.Text)


    'calculate difference of amount owed and paid
    'display an alert message if paid amount is less than what is owed
    Dim dif As Double
    Dim result As Double = 0

    result = CDbl(AmountPaid < AmountOwed)


    dif = AmountPaid - AmountOwed
    If CBool(result) Then
        AlertLabel.Text = "Amount paid is less than what is owed." &
            "Please pay $ " & result & "  more."

    Else
        AlertLabel.Text = ""
    End If

    'display the result
    'let totallabel change text to display the difference
    TotalLabel.Text = "Change: " &
        dif.ToString()

End Sub
End Class
4

1 に答える 1

0

このようにコードを変更します

'calculate difference of amount owed and paid
'display an alert message if paid amount is less than what is owed
Dim result As Boolean

result = (AmountPaid < AmountOwed)
dif = AmountPaid - AmountOwed
If result Then
  .....

(AmountPaid < AmountOwed)はブール式であり、ブール変数に直接割り当てることができます。次に、メッセージを表示する前にこのブール値をテストできます。

したがって、エラーを引き起こすこれらの変換は必要ありません。

于 2013-09-29T17:09:16.380 に答える