C#控制台程序怎么判断输入的是数字 包括小数
6个回答
展开全部
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中执行异常处理操作。
总的来说,虽然微软给我们做好了很多很多的方法,但是编程是很灵活的,许多的东西都可以灵活的来运用,只要达到我们的目的就行了。
展开全部
要判断输入的字符串是否为数字,有两种方法:
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string str="123";
double a;
bool b=double.TryParse(str,out a);
如果b为tru,说明可以转换为数字。
double a;
bool b=double.TryParse(str,out a);
如果b为tru,说明可以转换为数字。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是说在cmd界面 用户的输入啊?
如果是那里,你输入的除控制符,其余的都是string类型的。
如果是那里,你输入的除控制符,其余的都是string类型的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
try
{
double a=double.Parse("输入的数)
}
Catch{
//请输入数字
}
{
double a=double.Parse("输入的数)
}
Catch{
//请输入数字
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询