C#控制台程序怎么判断输入的是数字 包括小数

 我来答
_小木瓜
2016-12-25 · 超过40用户采纳过TA的回答
知道小有建树答主
回答量:67
采纳率:100%
帮助的人:47.7万
展开全部

C#中没有一个专门的方法来验证某个变量是否是值类型,通常我们使用类型转换的异常捕获来进行验证:

Console.Write("请输入一个数");

decimal d = Convert.ToDecimal(Console.ReadLine());

上面第二句代码,当用户输入的内容不是值类型,此时会抛出异常,如果是值类型,那么会顺利的走下去,正因为这一点,我们可以这样来用:

            Console.Write("请输入一个数");

            try
            {
                decimal d = Convert.ToDecimal(Console.ReadLine());
                Console.WriteLine("输入的是数字");
            }
            catch {
                Console.WriteLine("输入的不是数字");
            }

这样就可以进行数字验证了,try中如果没有异常,会顺利执行,如果有异常,会在抛出异常的那一句代码停止,并立刻跳进catch中执行异常处理操作。

总的来说,虽然微软给我们做好了很多很多的方法,但是编程是很灵活的,许多的东西都可以灵活的来运用,只要达到我们的目的就行了。

samismiling
2017-06-12 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5604

向TA提问 私信TA
展开全部

要判断输入的字符串是否为数字,有两种方法:

1、使用正则表达式

public static bool IsNumber(string input)
{
  string pattern = @"^-?\d+$|^(-?\d+)(\.\d+)?$";  // 数值的正则表达式
  return IsMatch(input, pattern);  // 匹配成功则说明是数值,否则不是数值
}

2、使用Double的Parse

public static bool IsNumber(string input)
{
  double d = 0;
  if (double.TryParse(input, out d)) // TryParse返回true说明是数值
   return true;
  else // 不是数值
   return false; 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
内裤最大功能
2016-11-20 · TA获得超过3106个赞
知道大有可为答主
回答量:3202
采纳率:79%
帮助的人:496万
展开全部
string str="123";
double a;
bool b=double.TryParse(str,out a);
如果b为tru,说明可以转换为数字。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友747b277
2017-02-21 · TA获得超过204个赞
知道小有建树答主
回答量:149
采纳率:75%
帮助的人:80.2万
展开全部
你是说在cmd界面 用户的输入啊?
如果是那里,你输入的除控制符,其余的都是string类型的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stknts
2016-11-24
知道答主
回答量:53
采纳率:0%
帮助的人:12.4万
展开全部
try
{
double a=double.Parse("输入的数)
}
Catch{
//请输入数字
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式