if 语句和负整数的问题

C# 真的很新。我想检查一个整数(来自用户的输入)是正数、负数还是零。它适用于正数和零,但当我输入负数时不起作用!


我尝试将输入类型从 user 更改为 int、float、decimal、double 等,但没有任何效果。还尝试了 switch 语句。我使用 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 时,我都会得到正确的输出,但当输入负数时,我会收到错误消息:“输入字符串的格式不正确”


幕布斯6054654
浏览 91回答 1
1回答

MMMHUHU

它应该可以工作,因为这里的 int 是 Int32,范围是 -2,147,483,648 到 2,147,483,647。如果您在此范围内输入任何数字,它应该有效。对于超出此范围的数字,您将得到“值太小或太大”。请分享您输入的号码
打开App,查看更多内容
随时随地看视频慕课网APP