VB.Net la Conversion de chaîne à double

J'ai un mal de bug dans mon programme, lorsqu'un utilisateur appuie sur le chèque(à calculer) bouton quand il n'y a pas d'entrée dans la zone de texte, le programme affiche cette erreur: "la Conversion de la chaîne "" de type 'Double' n'est pas valide." Je voudrais résoudre cela, mais je ne suis pas sûr de la façon de faire la conversion. Je pensais éventuellement CType mais j'entends parler de l'analyse. Comment puis-je aller à ce sujet? la zone de texte est appelé mskTxtInput et le bouton de l'objet est appelé btnCheck qui fait tout le calcul et le traitement.

Mise à jour: voici mon code à l'exception de la méthode d'analyse donc espérons que cela aide un peu!

Privé Sous btnCheck_Click(ByVal sender as System.Object, ByVal e as System.EventArgs) Handles btnCheck.Cliquez sur
pic1.Visible = False 'masquer l'image
pic1.Image = Ma.Les ressources.Un
note2.Image = Ma.Les ressources.F

    Dim value As Double
If Double.TryParse(mskTxtInput.Text, value) = Then
MsgBox("parsing success") ' parsing worked, so use the value in here 
Else
MsgBox("parsing failed") ' parsing failed, so alert the user to that fact 
End If
If radAdd.Checked = True Then
totalNum = num1 + num2
End If
If radSub.Checked = True Then
totalNum = num1 - num2
End If
If radMulti.Checked = True Then
totalNum = num1 * num2
End If
If mskTxtInput.Text = totalNum Then
lblAns.Text = ("Correct!")
lblAns2.Text = ("Answer is " & totalNum)
pic1.Visible = True
wins = wins + 1
nScore = wins
Else
lblAns.Text = ("Incorrect")
lblAns2.Text = ("Answer should be " & totalNum)
pic2.Visible = True
End If
attempts = attempts + 1
If attempts = 5 Then
MessageBox.Show("Game Finished! ", "End Of Game", _
MessageBoxButtons.OK, _
MessageBoxIcon.Exclamation)
lblAns.Text = ("You scored " & wins & " Out of 5")
btnSpin.Enabled = False
pic1.Visible = False
pic2.Visible = False
lblAns2.Text = ""
lblAns2.Text = "Play again?"
btnCheck.Enabled = False
btnNew.Enabled = True
attempts = 0
wins = 0
End If
mskTxtInput.Clear()
mskTxtInput.Focus()
End Sub
  • Merci de partager un peu de code où ce problème se pose.
  • Ce n'est pas directement pertinentes à votre question, mais il semble que vous ne l'utilisez pas Option Strict. Je vous recommande de vous tourner que sur: le compilateur génère alors des avertissements sur le code dangereux qui vous fera économiser temps dans le long terme.
InformationsquelleAutor William Mc | 2010-11-18