Dica - Converter String para Decimal - C# Brasil


Dica – Converter String para Decimal

{lang: 'pt-BR'}

Olá caro leitor, em mais uma dica útil, principalmente para os iniciantes, vou ensinar como converter um valor do tipo String para Decimal. Existe várias formas de realizar essa conversão.

Esse exemplo se aplica aos demais tipos como: Int, DateTime, Float, etc.
Então veja que temos um valor do tipo String e queremos converte-lo para Decimal. Será atribuído o valor convertido a variável declarada preco2 e a variável Booleana converteu retornará valor igual a True, ou seja, a conversão ocorreu com sucesso.


string sPreco1 = "12,95";
decimal dPreco1;
Boolean Convercao1 = decimal.TryParse(sPreco1, out dPreco1);

Mais tem um porem, suponhamos que esse valor em string não só possua somente numero mais também algum outro caracter como por exemplo uma letra. Então nesse caso ao tentarmos converter será retornado a variável preco2 o valor igual a 0 (zero) e a variável Booleana converteu retornará valor igual a False, ou seja, a conversão não ocorreu.
Em que caso podemos aplica-lo? Suponha que você ira realizar um calculo matemática, então realizamos a tratativa antes de executa-lo.


string sPreco1 = "12,95";
string sPreco2 = "6,76";
decimal dPreco1;
decimal dPreco2;
Boolean Convercao1 = decimal.TryParse(sPreco1, out dPreco1);
Boolean Convercao2 = decimal.TryParse(sPreco2, out dPreco2);
decimal result;

if (Convercao1 && Convercao2)
{
result = decimal.Add(dPreco1, dPreco2);
}
else
{
result = 100;
}

Existe outras formar mais simples de realizar a conversão.

Utilizando o Convert.ToDecimal()


string sPreco1 = "12,95";
decimal result = Convert.ToDecimal(sPreco1);

Utilizando o decimal.Parse()


string sPreco1 = "12,95";
decimal result = decimal.Parse(sPreco1);

Tá ai mais uma dica. Para realizar a conversão em outros tipo, é só seguir o mesmo conceito.
Dúvidas? mande comentários.

Abraço e sucesso!

Postado em C#, Dicas, Visual Studio | Marcado como , ,

3 respostas para “Dica – Converter String para Decimal”

  1. Wellington disse:

    Legal seu site cara, gostei muito. Estou fazendo curso de .NET e estou gostando muito de aprender C#. Legal você postar algumas dicas úteis para os usuários dessa maravilhosa linguagem que é o C#!

  2. Olá Wellington!
    Fico feliz que tenha gostado do Blog. A intenção é essa, transmitir conhecimento e aprender mais. Tenho certeza que esta gostando de aprender C#, eu particularmente gosto muito dessa maravilhosa linguagem.

    Abraço e sucesso!

  3. rogereichert disse:

    Eu tenho uma pequena dúvida, tenho uma text box, vamos chamar ela de txtSalario. E estou mandando para o banco de dados mysql com o nome do campo de salario, ele é decimal (10, 2), bom, o que acontece é o seguinte, eu faço a seguinte conversão: decimal.parse(txtSalario.text); ok até aí tudo bem, mas quando vou ver no meu banco, em vez de aparecer o100.00 que eu queria, aparece 10000.00… Há alguma solução para isso?

    Obrigado dede já e sucesso!

Deixe uma resposta