2
respostas

O programa da um erro no var sucesso pq nao é possivel converter string em double, o que fazer?

if (opcao == "4")
            {
                Console.WriteLine("Bem vindo ao Depositar");
                Console.Write("Digite aqui seu nome: ");
                var nome = Console.ReadLine();
                Console.Write("Digite aqui o valor que deseja Depositar: R$"); 
                var valorDeposito = Console.ReadLine();

                var sucesso = conta2.Depositar(valorDeposito)
                if (sucesso == true )
                {
                    Console.WriteLine("Saque realizado com sucesso");
                }
                else
                {
                    Console.WriteLine("Não pode depositar valor negativo");
                }
                Console.WriteLine("Tecle enter para sair");
            }
2 respostas

Olá Vitor, tudo bem?

Você pode receber o valor e fazer a conversão. Ficaria assim:

var valorDeposito = Convert.ToDouble(Console.ReadLine());

Outro problema que vai acontecer é com a variável sucesso que é do tipo double e no if() está comparando um double com um booleano.

Se você quiser comparar o valor que está dentro da variavel sucesso com algum valor, poderia ser assim: if(sucesso > 0) ou if(sucesso != null).

Espero ter ajudado!

Olá Vitor, tudo bem? Você poderia trocar a declaração: var valorDeposito = Console.ReadLine();

E usar o método double.TryParse() e com isso você poderia tentar formatar a string recebida do console, e caso ocorra erro será retornado o valor padrão do double que é "0" evitando uma excessão.

double.TryParse(Console.ReadLine(), System.Globalization.NumberStyles.Currency, //Moeda System.Globalization.CultureInfo.CurrentCulture, //Formato out var valorDeposito);

Espero ter ajudado.