Bonjour,
Est-ce possible ? Comment procéder ?
Merci d'avance.
Version imprimable
Bonjour,
Est-ce possible ? Comment procéder ?
Merci d'avance.
Facile:
et plus proprementCode:int a=int.Parse(string);
au cas ou la conversion n'est pas possible.Code:
1
2
3
4
5
6
7
8 try { int a = int.Parse(string); } catch(Exception ex) { Console.writeline("Erreur de parsing"); }
Personnellement je préfère faire mes conversions en passant par :Citation:
Envoyé par Kylen
Code:
1
2
3
4
5
6
7
8 try { int a = Convert.ToInt32(string); } catch(Exception ex) { Console.writeline("Erreur de parsing"); }
Si tu desassembles ta fonction ConvertToInt32 du frameworks, tu verra que le code source est:
Code:
1
2
3
4
5
6
7
8 public static int Convert.ToInt32(string value) { if (value == null) { return 0; } return int.Parse(value); }
Oui en effet, et c'est pour cette raison que je préfère cette méthode car elle contient déjà le test valeur null, affaire de goût ...Citation:
Si tu desassembles ta fonction ConvertToInt32 du frameworks, tu verra que le code source est:
Code:
1
2
3
4
5
6
7
8 public static int Convert.ToInt32(string value) { if (value == null) { return 0; } return int.Parse(value); }
si t'es en C# 2.0, ya encore plus "jolie" :
Code:
1
2
3
4
5
6
7
8
9 int num; if (int.TryParse(monstring, out num)) { // code si conversion OK } else { // code si conversion KO }
Exact elle evite les levées d'exception et retourne un booléen à la place, c'est très pratique :-)
Citation:
Envoyé par guitoux1
Pas encore en 2.0 malheureusement pour moi :((
C# 2.0 est intégré dans ASP.NET 2.0, non ?Citation:
Envoyé par dacamp
Donc je peux utiliser la dernière méthode citée TryParse?
oui oui, tu peux :)
Ok merci à tous ...Citation:
Envoyé par guitoux1
Conversion d'un string en Int
C#
on peut remplacer TextBox1.Text par une chaine déjà déterminée.Code:
1
2 int x; x=Convert.toInt32(TextBox1.Text);
Je préfère utiliser Convert.ToInt32 personnellement, car une des redéfinitions permet de choisir une base de conversion (base 2, 16 etc selon que la chaîne représente du binaire, de l'hexa, etc.) ce qui peut être utile dans certaines situations.
Je n'ai pas trouvé comment faire avec int.parse()... alors autant utiliser toujours la même méthode ^^