809 votes

Comment puis-je convertir String en Int?

j'ai

 TextBoxD1.Text
 

et je veux le convertir en 'int' pour le stocker dans une base de données. Comment puis-je faire ceci?

1282voto

Andrew Hare Points 159332

Essayez ceci:

int x = Int32.Parse(TextBoxD1.Text);

ou mieux encore:

int x = 0;

Int32.TryParse(TextBoxD1.Text, out x);

Aussi, depuis Int32.TryParse renvoie un bool vous pouvez sa valeur de retour pour prendre des décisions sur les résultats de l'analyse de la tentative:

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 est le mieux résumer comme ceci:

La méthode TryParse est comme les Analyser la méthode, à l'exception de la méthode TryParse ne pas lever une exception si l' la conversion échoue. Il élimine les besoin d'utiliser la gestion des exceptions pour tester pour un FormatException dans le cas que s n'est pas valide et ne peut pas être correctement analysé. - MSDN

90voto

Babak Naffas Points 7219
Convert.ToInt32( TextBoxD1.Text );

40voto

n8wrl Points 12485
 int.TryParse()
 

Il ne jettera pas si le texte n'est pas numérique.

26voto

Andre Kraemer Points 1092
 int myInt = int.Parse(TextBoxD1.Text)
 

Une autre façon serait:

 bool isConvertible = false;
int myInt = 0;

isConvertible = int.TryParse(TextBoxD1.Text, out myInt);
 

La différence entre les deux est que le premier lancerait une exception si la valeur de votre zone de texte ne peut pas être convertie, alors que le second renverrait simplement la valeur false.

16voto

Jacob Points 33729

Vous devez analyser la chaîne, et vous devez également vous assurer qu'elle est vraiment au format entier.

La manière la plus simple est la suivante:

 int parsedInt = 0;
if (int.TryParse(TextBoxD1.Text, out parsedInt))
{
   // Code for if the string was valid
}
else
{
   // Code for if the string was invalid
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X