【问题标题】:If user input is not a number如果用户输入不是数字
【发布时间】:2015-12-24 09:30:57
【问题描述】:

这是一个非常简单的脚本,我正在尝试弄清楚,我一直在寻找一个简单的答案,但在论坛或我的 C# 书籍中找不到它。

Console.Write("Enter a Number\n");
int input = Convert.ToInt32(Console.ReadLine()); //convert code to an integer

if (!Int32.IsNumber(input)) //if not a whole number input give an error
{
    Console.WriteLine("Not an integer");
}

我想做的就是这么简单。这是来自更大代码的 sn-p。

【问题讨论】:

标签: c# string integer converter


【解决方案1】:
Console.Write("Enter a Number\n");
string input = Console.ReadLine(); //get the input
int num = -1;
if (!int.TryParse(input, out num))
{
    Console.WriteLine("Not an integer");
}
else
{
   ...
}

如果字符串不是有效的整数,Int.TryParse 将返回 false,反之亦然

【讨论】:

  • 只有当我这样做 if (!int.TryParse(input, out num)) 时才有效。一个小写的int,但它不能正常工作。它不显示自定义错误
  • 在'Int'中使用大写I时出错“当前上下文中不存在名称'Int'”
  • @SDJ 已修复,使用小写 int 代替
【解决方案2】:

我从许多答案中找出了完成这项工作的最简单和最好的代码:

Console.Write("\nEnter a Whole Number (Such as 12)\n");
string Input = Console.ReadLine();

char firstChar = Input[0];
bool isNumber = Char.IsDigit(firstChar);

if (!isNumber)
{
     Console.WriteLine("Not an integer");
} 
else 
 {
.......
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-17
    • 2021-11-14
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2020-02-23
    • 1970-01-01
    相关资源
    最近更新 更多