Procedura: convertire una stringa in un valore integer (Guida per programmatori C#)
Aggiornamento: novembre 2007
In questi esempi vengono illustrate alcune modalità diverse che è possibile utilizzare per convertire un valore string in un valore int. Tale conversione può essere utile quando si ottiene input numerico da un argomento della riga di comando, ad esempio. Sono disponibili metodi simili per la conversione di stringhe in altri tipi numerici, ad esempio float o long. Nella tabella riportata di seguito sono elencati alcuni di questi metodi.
Tipo numerico |
Metodo |
---|---|
decimal |
|
float |
|
double |
|
short |
|
long |
|
ushort |
|
uint |
|
ulong |
Esempio
In questo esempio viene chiamato il metodo ToInt32(String) per convertire la stringa "29" in un valore int. Viene quindi aggiunto 1 al risultato e viene stampato l'output.
int numVal = Convert.ToInt32("29");
numVal++;
Console.WriteLine(numVal);
// Output: 30
Un altro modo per convertire un valore string in un valore int consiste nell'utilizzare il metodo Parse o TryParse della struttura System.Int32. Il metodo ToUInt32 utilizza il metodo Parse internamente. Se il formato della stringa non è valido, il metodo Parse genera un'eccezione mentre il metodo TryParse non genera alcuna eccezione, ma restituisce false. Negli esempi riportati di seguito vengono illustrate chiamate con esito positivo e negativo ai metodi Parse e TryParse.
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.
Vedere anche
Attività
Procedura: determinare se una stringa rappresenta un valore numerico (Guida per programmatori C#)