2016-04-09 5 views
0

Ich kann mein Programm nicht dazu bringen, die Daten im Textfeld zu nehmen und zu sagen, ob es leer ist, eine Ganzzahl oder Dezimalzahl enthält. Wenn es leer ist, möchte ich die Variable PropAmt zu 0.00 zuweisen. Wenn es eine ganze Zahl hat, möchte ich PropAmt einer Dezimalzahl zuweisen. Und wenn es eine Dezimalzahl ist, lassen Sie PropAmt in Ruhe.Bestimmen eines leeren oder ganzzahligen oder dezimalen Textfelds

Dies ist, was ich bisher:

Dim PropAMT = cdec(txtPropAMT.Text) 
If txtPropAMT.Text = "" Then 
    txtPropAMT.Text = 0.0 
Else txtPropAMT.Text = CInt(txtPropAMT.Text) Then 
    PropAMT = PropAMT & ".00" 
ElseIf txtPropAMT.Text = CDec(txtPropAMT.Text) Then 
    PropAMT = PropAMT 
End If 

Antwort

0

john,

hier ist das, was Sie für suchen worden Wenn txtBox.Text = String.Empty Dann

ElseIf (txtBox.Text Is GetType(Integer)) Then 

    ElseIf (txtBox.Text Is GetType(Decimal)) Then 

    End If 
+0

Alles funktioniert mit Ausnahme der Integer-Teil: Private Sub Button1_Click (sender As System.Object, e As System.EventArgs) Button1.Click Dim PropAMT = txtPropAMT.Text Griffe Wenn txtPropAMT.Text = "" Then txtPropAMT. Text = "0.0" ElseIf (txtPropAMT.Text Ist GetType (Integer)) Dann txtPropAMT.Text = PropAMT & ".00" 'Wenn "123" eingegeben wird, wechselt das Textfeld von "123" zu "123.00" ElseIf (txtPropAMT.Text ist GetType (Dezimal)) Dann txtPropAMT.Text = txtPropAMT.Text Ende Wenn End Sub –

+0

was ist das Problem, das Sie mit Ganzzahl – 5413

+0

John konfrontiert sind, kann Sie versuchen von dieser Url http://stackoverflow.com/questions/16294589/how-to-know-the-data-type-of-value-enter-by-user-at-runtime-in-textbox – 5413

0

john hier ist es

Dim intvalue As Integer 
    Dim decValue As Decimal 
    If txtBox.Text = String.Empty Then 
     txtBox.Text = "0.0" 
    ElseIf Integer.TryParse(txtBox.Text, intvalue) Then 
     txtBox.Text += ".00" 

    ElseIf Integer.TryParse(txtBox.Text, decValue) Then 

    End If 

lassen Sie mich wissen, wenn Sie noch ein Problem haben.

Verwandte Themen