Проблема с оператором if и отрицательным целым числом
Действительно новичок в C#. Я хочу проверить, является ли целое число (вход от пользователя) положительным, отрицательным или нулевым. Он работает с положительным числом и нулем, но не при вводе отрицательного числа!
Я пытался изменить тип ввода с пользовательского на int, float, decimal, double и так далее, но ничего не работает. Также попробовал switch-Statement. Я использую Visual Studio и отлаживаю в терминале Mac, это может быть проблемой? Я могу использовать отрицательные числа при написании другого кода, такого как математические задачи и так далее.
Console.Write("Enter a number: ");
int number = int.Parse(Console.ReadLine());
if (number == 0)
{
Console.Write("zero");
}
else if (number < 0)
{
Console.Write("negative");
}
else
{
Console.Write("positive");
(Я также пытался с оператором switch:)
Console.Write("Enter a number: ");
int number = int.Parse(Console.ReadLine());
switch(number)
{
case 0: Console.Write("zero"); break;
case -1: Console.Write("negative"); break;
case 1: Console.Write("positive"); break;
}
В обоих случаях я получаю правильный вывод при вводе положительного числа или 0, но при вводе отрицательного числа я получаю сообщение об ошибке: "строка ввода была в неправильном формате"
1 ответ
Это должно работать, потому что int здесь Int32 диапазон от -2 147 483 648 до 2 147 483 647. Если вы вводите любое число в этом диапазоне, оно должно работать. Для числа вне этого диапазона вы получите "значение слишком маленькое или слишком большое". Пожалуйста, поделитесь номером, который вы вводите