J'ai un TextBoxD1.Text
et je veux le convertir en un int
pour le stocker dans une base de données.
Comment puis-je faire cela ?
Essayez ça :
int x = Int32.Parse(TextBoxD1.Text);
ou mieux encore :
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
De plus, comme [Int32.TryParse
][1] renvoie un bool
, vous pouvez utiliser sa valeur de retour pour prendre des décisions sur les résultats de la tentative d'analyse :
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Si vous êtes curieux, la différence entre Parse
et TryParse
se résume à ceci :
La méthode TryParse est comme la méthode Parse sauf que la méthode TryParse ne lève pas d'exception si la conversion conversion échoue. Elle élimine le besoin besoin d'utiliser le traitement des exceptions pour tester une exception de type FormatException dans le cas où que s est invalide et ne peut être être analysé avec succès. - MSDN][2]
[1] : http://msdn.microsoft.com/en-us/library/f02979c7.aspx [2] : http://msdn.microsoft.com/en-us/library/f02979c7.aspx
Convert.ToInt32( TextBoxD1.Text );
Utilisez cette option si vous êtes sûr que le contenu de la zone de texte est un int valide. Une option plus sûre est
int val = 0;
Int32.TryParse( TextBoxD1.Text, out val );
Cela vous fournira une valeur par défaut que vous pourrez utiliser. Int32.TryParse
renvoie également une valeur booléenne indiquant si l'analyse a été effectuée ou non, vous pouvez donc l'utiliser comme condition d'une instruction if
.
if( Int32.TryParse( TextBoxD1.Text, out val ){
DoSomething(..);
} else {
HandleBadInput(..);
}