Exception lors de la conversion de la Chaîne en entier en C#
J'obtiens l'erreur: le Format d'exception a été gérée, la chaîne d'Entrée n'était pas dans un format correct.
pour cette ligne:
int right = System.Convert.ToInt32(rightAngleTB.Text);
rightAngleTB est une zone de texte, la valeur du Texte est "25" (sans les "").
Vraiment, je ne vois pas le problème 🙁
- Je voudrais prendre un pari et dire
rightAngleTB.Text
ne contient pas le texte25
- Êtes-vous sûr que la valeur du texte est juste
25
? Il n'y a pas les caractères supplémentaires là, comme une décimale, ou des corps étrangers espaces? Convertir des.ToInt32 devrait certainement être en mesure de convertir une chaîne de25
à un int. - vous êtes de droite, j'ai que la zone de texte sous l'étiquette et j'ai malheureusement nommé l'étiquette avec le nom rightAngleTB au lieu de la zone de texte .. damn des erreurs lorsque vous cliquez sur le mauvais objet :/
Vous devez vous connecter pour publier un commentaire.
Vous devriez vraiment utiliser
int.TryParse
. Il est beaucoup plus facile à convertir et vous n'obtiendrez pas des exceptions.Je remarque assez souvent que les utilisateurs ont parfois de pointe ou les espaces dans leur entrée. À l'aide de .Trim() permettra de se débarrasser de l'attaque et de fuite des espaces. Puis le TryParse vous donnera un int (si l'garni de Texte est un entier) sans lancer une exception
Utiliser les éléments suivants:
Si le ci-dessus TryParse omis, la valeur de droite seront celles que vous définissez dans votre déclaration ci-dessus. (0 dans ce cas...)
D'essayer le code ci-dessous.