在C#控制台中如何写出只能输入数字?
比如:Console.ReadLine()==什么?使控制台只能输入数字?如何判断控制台输入的只能是输入.而不是其他的....
比如:Console.ReadLine()==什么? 使控制台只能输入数字?
如何判断控制台输入的只能是输入.而不是其他的. 展开
如何判断控制台输入的只能是输入.而不是其他的. 展开
4个回答
展开全部
Console.ReadLine()是无法限制控制台输入的,当然可以用regexp匹配正则,失败后从新Console.ReadLine()
另一种方法就是每次只获取一个字符
string s = "";
ConsoleKeyInfo k = Console.ReadKey();
while (k.Key != ConsoleKey.Enter)
{
if (k.KeyChar >= '0' && k.KeyChar <= '9')
{
s += k.KeyChar;
Console.Write(k.KeyChar)
}
k = Console.ReadKey();
}
另一种方法就是每次只获取一个字符
string s = "";
ConsoleKeyInfo k = Console.ReadKey();
while (k.Key != ConsoleKey.Enter)
{
if (k.KeyChar >= '0' && k.KeyChar <= '9')
{
s += k.KeyChar;
Console.Write(k.KeyChar)
}
k = Console.ReadKey();
}
展开全部
using System.Text.RegularExpressions;
string a = "";
a = Console.ReadLine();
while (!IsNum(a))
{
Console.WriteLine("非数字,请重新输入。");
a = Console.ReadLine();
}
Console.WriteLine("输入的数字是:{0}", a);
private static bool IsNum(string s)
{
return Regex.IsMatch(s, @"^\d+");
}
string a = "";
a = Console.ReadLine();
while (!IsNum(a))
{
Console.WriteLine("非数字,请重新输入。");
a = Console.ReadLine();
}
Console.WriteLine("输入的数字是:{0}", a);
private static bool IsNum(string s)
{
return Regex.IsMatch(s, @"^\d+");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是:
Console.Wrtiteline("请输入数字:");
是这样吗?
Console.Wrtiteline("请输入数字:");
是这样吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用正则表达式
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string a = "";
a = Console.ReadLine();
while (!IsNum(a))
{
Console.WriteLine("非数字,请重新输入。");
a = Console.ReadLine();
Console.WriteLine("刚才输入的内容为:" + a);
Console.ReadLine();
}
}
private static bool IsNum(string s)
{
return Regex.IsMatch(s, @"^\d+");
}
}
}
即可
using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string a = "";
a = Console.ReadLine();
while (!IsNum(a))
{
Console.WriteLine("非数字,请重新输入。");
a = Console.ReadLine();
Console.WriteLine("刚才输入的内容为:" + a);
Console.ReadLine();
}
}
private static bool IsNum(string s)
{
return Regex.IsMatch(s, @"^\d+");
}
}
}
即可
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询