繁体   English   中英

限制用户不能输入十进制

[英]Restricting user to NOT input decimal

嗨,我是 C# 新手,我只是想问这是否可能? c# - 如何不允许用户在控制台应用程序中输入十进制

我不知道有什么方法可以限制用户在控制台中输入某些字符,但我有一种机制可以让您克服所面临的问题。

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

如果必须考虑特定于文化的转换,则可以使用接受 NumberStyles 和 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");
}

您可以使用Console.ReadLine读取整行或使用Console.ReadKey获取单个按键。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM