如何检查输入是否是一个有效的整数

本文关键字:一个 整数 有效 输入 何检查 检查 是否是 | 更新日期: 2023-09-27 18:12:57

我试着告诉用户,当他输入字符串而不是整数时,他/她应该输入一个数字。但不知何故,if语句中的代码永远不会显示。

    private static void Number()
    {
        Console.Write("Type it in a number: ");
        int result = int.Parse(Console.ReadLine());
        if (float.IsNaN(result))
        {
            Console.WriteLine("Please type a number!");
        }
        else
        {
            Console.Write("Hi");
        }
        Console.ReadLine();
    }

如何检查输入是否是一个有效的整数

private static void Number()
{
    Console.Write("Type it in a number: ");
    int result;
    bool parsedSuccessfully = int.TryParse(Console.ReadLine(), out result);
    if (parsedSuccessfully == false)
    {
        Console.WriteLine("Please type a number!");
    }
    else
    {
        Console.Write("Hi");
    }
    Console.ReadLine();
}

您可以使用int.TryParse

private static void Number()
    {
        Console.Write("Type it in a number: ");
        int result;
        if (int.TryParse(Console.ReadLine(), out result))
        {
             // user input a valid integer
             // result varaible have the input integer
             Console.Write("Hi");
        }
        else
        {
           // user input none integer
           Console.WriteLine("Please type a number!");
        }
        Console.ReadLine();
    }

尝试使用TryParse方法验证输入的字符串,也可以使用

int.TryParse
代码:

private static void ValidateInput() {
  Console.Write("Type the number: ");
  string userInput = Console.ReadLine();
  int result;
  bool isValidNumber = Int32.TryParse(userInput, out result);
  Console.WriteLine(isValidNumber ? "Hi, You have entered a valid number" : "Entered value is not a vald number, so please type a number!");
  Console.ReadLine();
}