2015-04-05 28 views
-4

我想驗證一個文本框,如果它只在第一位取小數。沒有0或任何數字(例如:.5不是0.5)請幫助我。在此先感謝如何驗證第一名是僅在vb中使用小數?

+1

你總是可以測試最左邊的字符是Chr(46)。恕我直言,最好使用類似於Instr的東西來測試最終條目中是否存在Chr(46),並使用Mid截斷該點的任何剩餘部分。 – Jeeped 2015-04-05 07:33:48

回答

0

我就把文本框名爲TextBox1的和一個名爲Button1的按鈕,寫了下面的代碼上的Button1 Click事件:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     Dim getstr As String = TextBox1.Text.Substring(0, 1) 
     If getstr = "." Then 
      MsgBox("Your input's first place is a '.' - validated.") 
     End If 
    End Sub 
+0

應該檢查TextBox1.Text的長度是否大於或等於1(或者大於0),或者在函數中加入try catch(如果用戶沒有輸入任何內容並點擊它的按鈕拋出一個'IndexOutOfRangeException'。除了那個很好很簡單。 – RianBattle 2015-04-06 13:16:57

0

如何像這樣的功能...

Private Function do_validate(ByRef curr_textbox As TextBox) As Boolean 
    Dim to_return As Boolean = False 

    Try 
     Dim curr_input_text As String = curr_textbox.Text 

     If (Len(curr_input_text > 0)) Then 
      Dim left_most As String = Mid(curr_input_text, 1, 1) 
      If left_most = "." Then 
       to_return = True 
      End If 
     End If 

    Catch 
    Finally 
     Select Case to_return 
      Case True 
       curr_textbox.BackColor = Color.LightGreen 
      Case False 
       curr_textbox.BackColor = Color.LightPink 
     End Select 
    End Try 

    Return to_return 
End Function 

然後它可以像這個do_validate(txt_input)一樣從TextBox.TextChanged事件中調用。它也可以作爲驗證序列的一部分從提交按鈕中調用。

相關問題