if语句和负整数的问题

时间:2019-04-22 06:24:48

标签: c# if-statement negative-integer

对C#来说真的很新。我想检查整数(来自用户的输入)是正数,负数还是零。它可以使用正数和零,但是不能输入负数!

我试图将输入类型从用户更改为int,float,decimal,double等,但没有任何效果。还尝试了一个切换语句。 我正在使用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");

(我也尝试过开关语句:)

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 个答案:

答案 0 :(得分:0)

它应该工作,因为int是Int32范围是-2,147,483,648到2,147,483,647。如果您输入的数字在此范围内,则应该可以使用。对于超出此范围的数字,您将获得“值太小或太大”。 请分享您输入的号码