Eu tenho um TextBoxD1.Text
e quero convertê-lo em um int
para armazená-lo em um banco de dados.
Como posso fazer isso?
Tente o seguinte:
int x = Int32.Parse(TextBoxD1.Text);
ou melhor ainda:
int x = 0;
Int32.TryParse(TextBoxD1.Text, out x);
Além disso, como Int32.TryParse
retorna a, bool
você pode usar seu valor de retorno para tomar decisões sobre os resultados da tentativa de análise:
int x = 0;
if (Int32.TryParse(TextBoxD1.Text, out x))
{
// you know that the parsing attempt
// was successful
}
Se você estiver curioso, a diferença entre Parse
e TryParse
é melhor resumida da seguinte forma:
O método TryParse é como o método Parse, exceto o método TryParse não lança uma exceção se a conversão falhar. Isso elimina a necessidade de usar o tratamento de exceções para testar uma FormatException no caso de s ser inválido e não poder ser analisado com êxito. - MSDN
Int64.Parse()
. Se a entrada não for int, você receberá uma execução e um rastreamento de pilha comInt64.Parse
ou o booleanoFalse
comInt64.TryParse()
, portanto, você precisará de uma instrução if, comoif (Int32.TryParse(TextBoxD1.Text, out x)) {}
.Use isso se tiver certeza de que o conteúdo da caixa de texto é válido
int
. Uma opção mais segura éIsso fornecerá algum valor padrão que você pode usar.
Int32.TryParse
também retorna um valor booleano indicando se foi capaz de analisar ou não, para que você possa usá-lo como condição de umaif
instrução.fonte
Não será lançado se o texto não for numérico.
fonte
Outra maneira seria:
A diferença entre os dois é que o primeiro lançaria uma exceção se o valor na sua caixa de texto não puder ser convertido, enquanto o segundo retornaria falso.
fonte
code
int NumericJL; bool isNum = int.TryParse (nomeeJobBand, out NumericJL); if (isNum) // O JL retured é capaz de passar para int e, em seguida, prossegue para a comparação {if (! (NumericJL> = 6)) {// Nomear} // else {}}Você precisa analisar a sequência e também garantir que ela esteja realmente no formato de um número inteiro.
A maneira mais fácil é esta:
fonte
Tenha cuidado ao usar Convert.ToInt32 () em um char!
Ele retornará o UTF-16 código do personagem!
Se você acessar a sequência apenas em uma determinada posição usando o
[i]
operador de indexação, ela retornará achar
e não astring
!fonte
A instrução TryParse retorna um booleano representando se a análise foi bem-sucedida ou não. Se for bem-sucedido, o valor analisado é armazenado no segundo parâmetro.
Consulte Método Int32.TryParse (String, Int32) para obter informações mais detalhadas.
fonte
Aproveite...
fonte
Embora já existam muitas soluções aqui que descrevem
int.Parse
, há algo importante faltando em todas as respostas. Normalmente, as representações de cadeia de valores numéricos diferem por cultura. Elementos de seqüências numéricas, como símbolos de moeda, separadores de grupos (ou milhares) e separadores decimais, variam de acordo com a cultura.Se você deseja criar uma maneira robusta de analisar uma string em um número inteiro, é importante levar em consideração as informações da cultura. Caso contrário, as configurações de cultura atuais serão usadas. Isso pode dar ao usuário uma surpresa bastante desagradável - ou pior ainda, se você estiver analisando os formatos de arquivo. Se você deseja apenas analisar o inglês, é melhor simplesmente explicitar, especificando as configurações de cultura a serem usadas:
Para obter mais informações, leia CultureInfo, especificamente NumberFormatInfo no MSDN.
fonte
Você pode escrever seu próprio método de extensão
E em qualquer lugar no código, basta ligar
Neste caso concreto
fonte
StringExtensions
vez deIntegerExtensions
, uma vez que esses métodos de extensão atuam sobrestring
e não sobreint
?Conforme explicado na documentação do TryParse , TryParse () retorna um booleano que indica que um número válido foi encontrado:
fonte
fonte
Você pode usar
ou
fonte
fonte
Você pode converter uma string para int em C # usando:
Funções de classe convertido ou seja
Convert.ToInt16()
,Convert.ToInt32()
,Convert.ToInt64()
ou por utilizaçãoParse
eTryParse
funções. Exemplos são dados aqui .fonte
Você também pode usar um método de extensão , para que seja mais legível (embora todo mundo já esteja acostumado às funções regulares do Parse).
E então você pode chamar assim:
Se você tem certeza de que sua string é um número inteiro, como "50".
Se você não tem certeza e deseja evitar falhas.
Para torná-lo mais dinâmico, você também pode analisá-lo para dobrar, flutuar etc., criando uma extensão genérica.
fonte
Conversão
string
daint
pode ser feito por:int
,Int32
,Int64
e outros tipos de dados que reflete os tipos de dados inteiros em .NETO exemplo abaixo mostra esta conversão:
Este elemento do adaptador de dados show (for info) foi inicializado com o valor int. O mesmo pode ser feito diretamente como,
Ex.
Link para ver esta demonstração .
fonte
Isso faria
Ou você pode usar
Consulte Microsoft Developer Network para obter mais informações
fonte
Você pode fazer o seguinte abaixo sem as funções TryParse ou embutidas:
fonte
fonte
Você pode converter string em um valor inteiro com a ajuda do método de análise.
Por exemplo:
fonte
A maneira como sempre faço isso é assim:
É assim que eu faria.
fonte
Se você está procurando o caminho mais longo, crie seu único método:
fonte
MÉTODO 1
MÉTODO 2
MÉTODO 3
fonte
Este código funciona para mim no Visual Studio 2010:
fonte
Isso funciona para mim:
fonte
Você pode tentar o seguinte. Vai funcionar:
O valor da string na variável TextBoxD1.Text será convertido em Int32 e será armazenado em x.
fonte
No C # v.7, você poderia usar um parâmetro inline out, sem uma declaração adicional de variável:
fonte
out
parâmetros não são desencorajados em C # agora?Isso pode ajudá-lo; D
fonte