Pesquisar

Convertendo Datas e Números

Hoje vou falar sobre conversão de valores numericos e datas. Vejo muita gente fazendo conversões do tipo:

int valor = Convert.ToInt32(textbox1.Text);

O que acontecerá se o usuario não digitar um número? O que você faz? Coloca um try catch envolvendo tudo e diz para o usuário que aconteceu um erro?


A maioria dos programadores tem preguiça de efetuar isto do modo certo. Devemos sempre verificar se o que a gente está convertendo é um valor verdadeiro.


int valor;
int.TryParse(textbox1.Text, out valor);

Este é um caso onde o valor não é obrigatório, caso o usuário não digite um número verdadeiro a funçaõ TryParse irá setar o valor 0 para o valor. Agora caso precisemos que o usuário digite um número devemos efetuar o seguinte:


            int valor;
if (int.TryParse(textbox1.Text, out valor))
{
//Valor Verdadeiro
}



Isto vale para os outros tipos: double, long, decimal, todos eles possuem o método TryParse() que retorna um booleano, devemos usar sempre que possível esta função. Ela usa as configurações regionais do Windows, então caso seu windows estiver configurado como separador decimal o ponto, e vc digitar o valor “12.00”, ele vai converter para doze, agora caso esteja configurado para virgula o valor resultante será mil e duzentos.Isso é muito util pois respeita as configurações que o usuário está acostumado a usar em seu computador.


Devemos utilizar este método especialmente com datas, pois ele vai fazer a conversão de acordo com as configurações do seu computador. Lembre-se DateTime.TryParse().


O próximo post será sobre datas no banco de dados.

Nenhum comentário: