[英]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.