Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 限制用户不输入十进制数_C# - Fatal编程技术网

C# 限制用户不输入十进制数

C# 限制用户不输入十进制数,c#,C#,嗨,我是C语言的新手,我只是想问一下这是否可行?如何不允许用户在c中的console应用程序中输入十进制,您可以使用它来读取整行或获取单键笔划 使用Console.ReadLine可以为您提供每个字符,用户在按return之前输入。您无法控制用户输入的字符 如果您使用Console.ReadKey实现用户交互,您可以忽略用户不允许输入的每个字符,并使用您获得的所有字符将字符串组合在一起。我不知道有什么方法限制用户在控制台中输入一些字符,但我有一个机制让你们克服你们面临的问题 您可以使用正在处理的

嗨,我是C语言的新手,我只是想问一下这是否可行?如何不允许用户在c中的console应用程序中输入十进制,您可以使用它来读取整行或获取单键笔划

使用Console.ReadLine可以为您提供每个字符,用户在按return之前输入。您无法控制用户输入的字符


如果您使用Console.ReadKey实现用户交互,您可以忽略用户不允许输入的每个字符,并使用您获得的所有字符将字符串组合在一起。

我不知道有什么方法限制用户在控制台中输入一些字符,但我有一个机制让你们克服你们面临的问题

您可以使用正在处理的类型的.TryParse方法。将数字的字符串表示形式转换为其等效的32位有符号整数。返回值指示操作是否成功。您可以依赖该返回值来检查有效输入

如果您必须考虑特定于文化的转换,可以使用接受NUBBOREST和IFormatProvider

的转换。 假设您正在处理整数,那么您的代码如下所示:

string inputStr="12.36";
int convertedValue=0;
if(int.TryParse(inputStr,out convertedValue))
{
    Console.WriteLine("Thanks for correct input");
    // proceed with your code with the converted value in convertedValue
}
else
{
   Console.WriteLine("Wrong input");
}

您可能需要重新思考这里的目标-而不是定义您不想接受的输入,而是定义您想接受的输入。通常,这是一个更短的列表,因此更容易。您还应该知道,用户通过控制台输入的任何内容实际上都是字符串,作为程序员,您有责任将该字符串转换为您实际想要使用的任何类型。