我是VB新手,我試圖用計算器計算出售門票的數量。我需要在dblAdultTicketsSold和dblChildTicketsSold中放置小數點。我現在有限制,不會允許負數,只會允許數字。我感謝任何幫助。如何在VB中保留文本框輸入中的小數
私人小組的button1_Click(發送者爲對象,例如作爲EventArgs的)把手btnCalculate.Click
''Declare local variables
Dim decAdultPricePerTicket As Decimal
Dim dblAdultTicketsSold As Double
Dim decGrossAdultSalesTotal As Decimal
Dim decChildPricePerTicket As Decimal
Dim dblChildTicketsSold As Double
Dim decGrossChildSalesTotal As Decimal
Dim decGrossSalesTotal As Decimal
Dim decNetAdultSalesTotal As Decimal
Dim decNetChildSalesTotal As Decimal
Dim decNetTotalSales As Decimal
'Put backcolor back to white after it turns yellow
txtAdultPricePerTicket.BackColor = Color.White
txtAdultTicketsSold.BackColor = Color.White
txtChildPricePerTicket.BackColor = Color.White
txtChildTicketsSold.BackColor = Color.White
' Validate Inputs
Try
'Validate Adult Price Per Ticket is positive numeric
If IsNumeric(txtAdultPricePerTicket.Text) Then
decAdultPricePerTicket = CDec(txtAdultPricePerTicket.Text)
Else
MessageBox.Show("Please enter a positive numeric value for Price per Adult Ticket.")
txtAdultPricePerTicket.Focus()
txtAdultPricePerTicket.BackColor = Color.Yellow
Exit Sub
End If
If decAdultPricePerTicket < 1 Then
MessageBox.Show("Please enter a positive numeric value for Price per Adult Ticket.")
txtAdultPricePerTicket.Focus()
txtAdultPricePerTicket.BackColor = Color.Yellow
Exit Sub
End If
'Validate amount of Adult tickets with positive numeric
If IsNumeric(txtAdultTicketsSold.Text) Then
dblAdultTicketsSold = CDbl(txtAdultTicketsSold.Text)
Else
MessageBox.Show("Please enter a positive numeric value for amount for Adult Tickets Sold.")
txtAdultTicketsSold.Focus()
txtAdultTicketsSold.BackColor = Color.Yellow
Exit Sub
End If
If dblAdultTicketsSold < 1 Then
MessageBox.Show("Please enter a positive numeric value for amount for Adult Tickets Sold.")
txtAdultTicketsSold.Focus()
txtAdultTicketsSold.BackColor = Color.Yellow
Exit Sub
End If
'Validate Child Price per Tickets is a positive numeric
If IsNumeric(txtChildPricePerTicket.Text) Then
decChildPricePerTicket = CDec(txtChildPricePerTicket.Text)
Else
MessageBox.Show("Please enter a positive numeric value for Price per Child Ticket.")
txtChildPricePerTicket.Focus()
txtChildPricePerTicket.BackColor = Color.Yellow
Exit Sub
End If
If decChildPricePerTicket < 1 Then
MessageBox.Show("Please enter a positive numeric value for Price per Child Ticket.")
txtChildPricePerTicket.Focus()
txtChildPricePerTicket.BackColor = Color.Yellow
Exit Sub
End If
'Validate amount of child tickets with positive numeric
If IsNumeric(txtChildTicketsSold.Text) Then
dblChildTicketsSold = CDbl(txtChildTicketsSold.Text)
Else
MessageBox.Show("Please enter a positive numeric value for amount of Child Tickets.")
txtChildTicketsSold.Focus()
txtChildTicketsSold.BackColor = Color.Yellow
Exit Sub
End If
If dblChildTicketsSold < 0 Then
MessageBox.Show("Please enter a positive numeric value for amount of Child Tickets.")
txtChildTicketsSold.Focus()
txtChildTicketsSold.BackColor = Color.Yellow
Exit Sub
End If
'Calculate and display GrossAdultSalesTotal
decGrossAdultSalesTotal = CDec(CDec(txtAdultPricePerTicket.Text) * CDbl(txtAdultTicketsSold.Text))
lblGrossAdultSalesTotal.Text = decGrossAdultSalesTotal.ToString("c")
'Calculate and display GrossChildSalesTotal
decGrossChildSalesTotal = CDec(CDec(txtChildPricePerTicket.Text) * CDbl(txtChildTicketsSold.Text))
lblGrossChildSalesTotal.Text = decGrossChildSalesTotal.ToString("c")
'Calculate total gross sales
decGrossSalesTotal = decGrossAdultSalesTotal + decGrossChildSalesTotal
lblGrossTotalSales.Text = decGrossSalesTotal.ToString("c")
'Calculate Net adult ticket sales 20%
decNetAdultSalesTotal = CDec(0.2 * decGrossAdultSalesTotal)
lblNetAdultSalesTotal.Text = decNetAdultSalesTotal.ToString("c")
'Calculate Net child ticket sales 20%
decNetChildSalesTotal = CDec(0.2 * decGrossChildSalesTotal)
lblNetChildSalesTotal.Text = decNetChildSalesTotal.ToString("c")
'Calculate Net total of adult and child tickets
decNetTotalSales = decNetChildSalesTotal + decNetAdultSalesTotal
lblNetTotalSales.Text = decNetTotalSales.ToString("c")
Catch
'Error Message
MessageBox.Show("All inputs must be valid positive numeric values")
End Try
End Sub
這是一個Winforms應用程序還是? – Steve
可能更容易使用NumericUpDown – Plutonix
我想你已經完成了驗證。它工作嗎? –