Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 103 additions & 1 deletion _posts/2008-10-24-dica-converter-string-para-decimal.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,106 @@ draft: false
tags: ['C#', 'C#', 'Dicas', 'Dicas', 'Visual Studio', 'Visual Studio']
---

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. ```csharp 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. ```csharp 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() ```csharp string sPreco1 = "12,95"; decimal result = Convert.ToDecimal(sPreco1); ``` Utilizando o decimal.Parse() ```csharp 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!
Olá, caro leitor! Hoje trago uma dica útil, especialmente para os iniciantes na programação em C#. Vamos aprender como converter um valor do tipo `String` para `Decimal`. Essa conversão é uma tarefa comum e pode ser realizada de várias maneiras. O exemplo que veremos aqui pode ser aplicado a outros tipos de dados, como `Int`, `DateTime`, `Float`, entre outros.

## Exemplo de Conversão

Suponha que temos um valor em formato de string e desejamos convertê-lo para decimal. Vamos atribuir o valor convertido a uma variável chamada `dPreco1` e utilizar uma variável booleana chamada `converteu` para verificar se a conversão foi bem-sucedida.

csharp

```csharp
string sPreco1 = "12,95"; // Valor em formato de string

decimal dPreco1; // Variável para armazenar o valor convertido

bool converteu = decimal.TryParse(sPreco1, out dPreco1); // Tentativa de conversão
```

Se a conversão ocorrer com sucesso, a variável `converteu` retornará `true`, e `dPreco1` conterá o valor decimal correspondente. Caso contrário, `dPreco1` será igual a 0, e `converteu` será `false`.

## Tratando Erros na Conversão

É importante considerar que, se a string contiver caracteres não numéricos, a conversão falhará. Por exemplo, se tentarmos converter uma string que contém letras, o resultado será 0 e a variável booleana indicará que a conversão não foi bem-sucedida.

csharp

```csharp
string sPreco2 = "12,95abc"; // Valor inválido

decimal dPreco2;

bool converteu2 = decimal.TryParse(sPreco2, out dPreco2); // Tentativa de conversão
```

Neste caso, `converteu2` será `false`, e `dPreco2` será 0.

## Aplicando a Conversão em Cálculos

A conversão é especialmente útil quando precisamos realizar cálculos matemáticos. Antes de executar qualquer operação, podemos verificar se a conversão foi bem-sucedida:

csharp

```csharp
string sPreco1 = "12,95";

string sPreco2 = "6,76";

decimal dPreco1;

decimal dPreco2;

bool converteu1 = decimal.TryParse(sPreco1, out dPreco1);

bool converteu2 = decimal.TryParse(sPreco2, out dPreco2);

decimal resultado;

if (converteu1 && converteu2)

{

resultado = decimal.Add(dPreco1, dPreco2); // Realiza a soma

}

else

{

resultado = 100; // Valor padrão em caso de erro

}
```

## Outras Formas de Conversão

Além do método `TryParse`, existem outras maneiras de realizar a conversão:

1. **Usando `Convert.ToDecimal()`**:

csharp

```csharp
string sPreco1 = "12,95";

decimal resultado = Convert.ToDecimal(sPreco1);
```

2. **Usando `decimal.Parse()`**:

csharp

```csharp
string sPreco1 = "12,95";

decimal resultado = decimal.Parse(sPreco1);
```

Essas abordagens são diretas, mas é importante lembrar que elas podem lançar exceções se a string não for um formato válido.

## Conclusão

Espero que esta dica tenha sido útil para você! A conversão de strings para decimais é uma habilidade essencial em programação, especialmente quando lidamos com dados financeiros. Se você tiver dúvidas ou sugestões, fique à vontade para deixar um comentário.

Abraço e sucesso em sua jornada de aprendizado em C#!