Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Exibindo saldo com " , " no lugar do " . "

Olá. Na aula 3 - Fazendo parse e StreamWriter no vídeo "Convertendo texto para conta" é usado o método Replace para apresentar a vírgula na saída do console da seguinte forma:

var saldo = campos[2].Replace('.', ',');

Não entendi como isso funciona já que nesse trecho ainda não foi adicionado o saldo a Conta Corrente:

resulado.Depositar(double.Parse(saldo));

O que funcionou pra mim foi adicionar na construção da msg um ToString() e o Replace:

 var msg = $"Cc: {contaCorrente.Numero}, Ag: {contaCorrente.Agencia}, Saldo: {contaCorrente.Saldo.ToString().Replace('.', ',')} ;

Tem algo que deixei passar?

2 respostas
solução!

Bom dia Walter, tudo blz?

Primeiramente bacana sua solução.

Na linha, é realizada a substituição do . pela ,, mas a váriavel saldo continua sendo uma string:

var saldo = campos[2].Replace('.', ',');

Neste construção antes de invocar o método depositar pelo .parse que a string é convertida em um double:

resultado.Depositar(double.Parse(saldo));

Espero ter ajudado!

Bom dia. Obrigado pela resposta André.

Ainda fiquei com uma dúvida. Se eu tenho uma string 456.3 e troco para 456,3 e depois converto para double, essa virgula some e eu tenho a saída 4563. O double.Parse ignora a virgula, certo?

Por isso optei por manter a entrada com "." e só alterar para "," na mensagem de saída.