Ошибка CS0029 Невозможно неявно преобразовать тип 'string' в 'double' - PullRequest
0 голосов
/ 01 февраля 2020

Я создаю консоль калькулятора C#, используя visual studio и код , и когда я печатаю и отлаживаю свое приложение, я получаю эту ошибку "Ошибка CS0029 Не может быть неявно преобразовать тип 'string' в 'double' ". Я думаю, что мой код не был совместим. Кто-нибудь может мне помочь?

Console.WriteLine("\t\t\tCalculator in C#\r");
Console.WriteLine("\t\t\t-----------------\r");

Console.WriteLine("\t\tEnter First Number\r"); 
double num1 = Double.Parse(Console.ReadLine());

Console.WriteLine("\t\tSelect an Operator: ( +, -, *, /, ^)\r");


double opp = Console.ReadLine(); ---- WITH THIS LINE??**

Console.WriteLine("\t\tEnter second Number\r"); 
double num2 =  Double.Parse(Console.ReadLine());

Новичок здесь Спасибо за вашу доброту! ^ _ ^

Ответы [ 2 ]

0 голосов
/ 01 февраля 2020

Это потому, что Console.ReadLine() возвращает строку. Но вы пытаетесь поместить эту строку в переменную double. Если вы ожидаете, что пользователь введет оператор (+, -, ...), то установите переменную opp типа string. Если пользователь должен отправить номер для оператора (например, 1 для «+», 2 для «-», 3 для «*»), измените строку на

double opp = Douoble.Parse(Console.ReadLine());

В обоих случаях вы должен сообщить пользователю, какой тип ввода вы ожидаете.

Если что-то не понятно, дайте мне знать наверняка

0 голосов
/ 01 февраля 2020

В конкретной строке вы ожидаете оператора. Это должно быть представлено char или string, а не двойным.

Console.WriteLine("\t\tSelect an Operator: ( +, -, *, /, ^)\r");
string opp = Console.ReadLine(); // Change here

Операторы +-*/^ не являются числами и не могут быть представлены двойными. Вы можете добавить дополнительные проверки, чтобы Пользователь ввел действительный оператор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...