Como: Converter uma seqüência de caracteres em um int (translation from VPE for Csharp Programming guia)
Esses exemplos mostram algumas maneiras diferentes é possível converter um seqüência de caracteres to an int.Tal conversão pode ser útil ao se obter entrada numérica de um argumento da linha de comando, por exemplo.Existem métodos similares para converter cadeias de caracteres para outros tipos numéricos, sistema autônomo float or longo.A tabela abaixo lista algumas desses métodos.
Tipo numérico |
Método |
---|---|
decimal |
|
float |
|
double |
|
short |
|
long |
|
ushort |
|
uint |
|
ulong |
Exemplo
Este exemplo chama o ToInt32(String)método para converter a cadeia de caracteres "29" em um int. Em seguida, adiciona 1 para o resultado e imprime a saída.
int numVal = Convert.ToInt32("29");
numVal++;
Console.WriteLine(numVal);
// Output: 30
Outra maneira de converter um string para um int é por meio do Parse ou TryParse métodos para o System.Int32 struct. The ToUInt32 usos de método Parse internamente. Se a seqüência de caracteres não estiver em um formato válido, Parse lança uma exceção enquanto TryParse não lançar uma exceção, mas retorna false. Os exemplos a seguir demonstram chamadas com e sem êxito para 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.