Comment : convertir une chaîne en int (Guide de programmation C#)
Mise à jour : novembre 2007
Ces exemples illustrent différentes méthodes de conversion d'une chaîne en int (nombre entier). Cette conversion peut être utile lors de l'obtention d'une entrée numérique à partir d'un argument de ligne de commande, par exemple. Il existe des méthodes similaires pour convertir des chaînes en autres types numériques, tels que float ou long. Le tableau suivant répertorie quelques-unes de ces méthodes.
Type numérique |
Méthode |
---|---|
decimal |
|
float |
|
double |
|
short |
|
long |
|
ushort |
|
uint |
|
ulong |
Exemple
Cet exemple appelle la méthode ToInt32(String) pour convertir la chaîne « 29 » en int. Il ajoute ensuite 1 au résultat qui est alors imprimé.
int numVal = Convert.ToInt32("29");
numVal++;
Console.WriteLine(numVal);
// Output: 30
Il est également possible de convertir une string en int à l'aide des méthodes Parse ou TryParse du struct System.Int32. La méthode ToUInt32 utilise Parse en interne. Si le format de la chaîne n'est pas valide, Parse lève une exception tandis que TryParse retourne la valeur « false » sans lever d'exceptions. Les exemples suivants illustrent des appels à Parse et TryParse qui ont réussi ou échoué.
int numVal = Int32.Parse("-105");
Console.WriteLine(numVal);
// Output: -105
int j;
Int32.TryParse("-105", out j);
Console.WriteLine(j);
// Output: -105
try
{
int m = Int32.Parse("abc");
}
catch (FormatException e)
{
Console.WriteLine(e.Message);
}
// Output: Input string was not in a correct format.
string inputString = "abc";
int numValue;
bool parsed = Int32.TryParse(inputString, out numValue);
if (!parsed)
Console.WriteLine("Int32.TryParse could not parse '{0}' to an int.\n", inputString);
// Output: Int32.TryParse could not parse 'abc' to an int.
Voir aussi
Tâches
Comment : déterminer si une chaîne représente une valeur numérique (Guide de programmation C#)