簡體   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