Вот код, который я протестировал, я просто даю разрешение пользователю вводить только одну цифру после десятичной точки;вы можете изменить значение до 2 по вашему выбору.
Private Sub tb_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tb.KeyPress
If Not Char.IsDigit(e.KeyChar) And Not e.KeyChar = "." Then
e.Handled = True
Else
If e.KeyChar = "." And tb.Text.IndexOf(".") <> -1 Then
e.Handled = True
ElseIf e.KeyChar = "." Then
e.Handled = False
ElseIf Char.IsDigit(e.KeyChar) Then
If tb.Text.IndexOf(".") <> -1 Then
If tb.Text.Length >= tb.Text.IndexOf(".") + 2 Then 'replace 2 for greater numbers after decimal point
e.Handled = True
End If
End If
End If
End If
End Sub
Я проверил этот код до 2,3,4 десятичных знаков