У меня проблема с попыткой поймать в VB. У меня есть 2 кнопки (btnCalculate, btnPay) и 3 метки (lblTotal, lblCash, lblChange)
btnCalculate = общая цена
btnPay = сумма, уплаченная клиентом
lblTotal = отображать общую стоимость
lblCash = отображать наличные, уплаченные клиентом
lblChange = отображать сдачу
EDIT: Преобразование из строки в тип Double недопустимо, ошибка
Private Sub btnPay_Click(sender As Object, e As EventArgs) Handles btnPay.Click
Dim payAmount As Double
Dim total As Double
total = CDbl(lblTotal.Text)
Do While (payAmount < total)
payAmount = Val(InputBox("Enter customer pay amount: "))
If (payAmount < total) Then
MessageBox.Show("Please pay the amount of total bill!")
Else
lblCash.Text = "$" & CStr(payAmount)
lblChange.Text = "$" & CStr(payAmount - total)
End If
Loop
End Sub
payAmount - lblTotal.Text
– Используйте Строгий параметр. - person The Blue Dog   schedule 26.12.2014lblTotal.text
при возникновении исключения? - person Josh Part   schedule 26.12.2014lblTotal.Text
— это пустая строка, либо она содержит символы, которые невозможно преобразовать в число. - person The Blue Dog   schedule 26.12.2014payamount.ToString("C2")
, а переменные, вероятно, должны быть Decimal. Использование символа местной валюты позволит коду работать (отчасти). Decimal.Parse будет лучше, чем CDbl/CDec - person Ňɏssa Pøngjǣrdenlarp   schedule 26.12.2014learning purposes
, тем больше причин научиться делать это правильно. - person Ňɏssa Pøngjǣrdenlarp   schedule 26.12.2014The Blue Dog
только что упомянул, где моя проблема, и НАКОНЕЦ решить эту проблему. Большое спасибо! = Д - person Sollo   schedule 26.12.2014