我有一個代碼允許'。' (點)在僅號碼輸入在控制檯
string _val = "";
Console.Write("Enter your value: ");
ConsoleKeyInfo key;
do
{
key = Console.ReadKey(true);
if (key.Key != ConsoleKey.Backspace)
{
double val = 0;
bool _x = double.TryParse(key.KeyChar.ToString(), out val);
if (_x)
{
_val += key.KeyChar;
Console.Write(key.KeyChar);
}
}
else
{
if (key.Key == ConsoleKey.Backspace && _val.Length > 0)
{
_val = _val.Substring(0, (_val.Length - 1));
Console.Write("\b \b");
}
}
}
while (key.Key != ConsoleKey.Enter);
Console.WriteLine();
Console.WriteLine("The Value You entered is : " + _val);
只允許數量的輸入。但是我怎樣才能允許'。'(點)符號,因爲我想用浮點數來處理?
一般來說,你在做這種奇怪。你得到了被按下的實際鍵,但是你可以使用'Console.ReadLine()'來讀取所有的用戶輸入。那麼你會沒有問題,像1049.4839 – evanmcdonnal
讀取值,但我怎麼可以在這種情況下禁止信件? –
@evanmcdonnal看起來他正試圖過濾用戶輸入的內容。就像不允許鍵入字母一樣。 – Steve