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