作者rocksan (Rocksan)
看板Visual_Basic
標題Re: [VB6 ] 購票系統
時間Thu Apr 20 17:09:00 2006
: 小弟又有問題
: 如果我在textbox1跟textbox2都有打數字的話
: 程式就沒錯
: 如果我其中一格什麼都沒打
: 系統就會出錯
: 是因為空白不能*任何東西嘛?
: 如果是這樣
: 那該如何修改?
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim X As MsgBoxResult
Dim Y As String
Dim Z, C As Double
If IsNumeric(TextBox1.Text) = False Or IsNumeric(TextBox2.Text) =
False Then
MsgBox("請輸入正確格式")
'如果不是數字的話,就不正確
Exit Sub
End If
Z = (CDbl(TextBox1.Text) * 500 + CDbl(TextBox2.Text) * 300)
C = Z * 0.8
X = MsgBox("你是會員嗎?", MsgBoxStyle.YesNo)
If X = MsgBoxResult.No Then
MsgBox("票價為" & Z, , "謝謝你的購買")
Else
Y = InputBox("請輸入會員帳號")
End If
End Sub
End Class
在前面加上一個判斷式,去判斷Textbox.text的值是否為數值型態,不是的話就不執行下面的程式。
這樣應該就可以了!!
IsNumeric(Object)傳回 Boolean 值,指出Objec是否可以評估為數字。
謝謝收看
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.94.115
推 saintber:能不能使用Val函數?我沒用過.NET不太確定,不過應該可 04/20 22:55
→ saintber:以才對。試試看把Text1.text改成Val(Text1.text) 04/20 22:56
推 rocksan:使用Val也是可以,但是要注意的是,TEXTBOX空白時 04/21 00:59
→ rocksan:會變成零,另外就是如果輸入文字時,也是一樣,比較沒辨法 04/21 01:01
→ rocksan:MaskedTextBox,直接限定使用者輸入的格式。 04/21 01:03