如何判断一个字符串都是数字,包括小数点。

2024-11-07 14:27:46
推荐回答(5个)
回答1:

完整的C#程序:

using System;

class Program
{
static void Main()
{
String source;
Console.Write("请输入字符串:");
source = Console.ReadLine();

int num1;
double num2;

if (int.TryParse(source, out num1))
Console.WriteLine("{0}都是数字,并且是整数:{1}",source,num1);
else if (double.TryParse(source, out num2))
Console.WriteLine("{0}都是数字,并且是浮点数:{1}", source, num2);
else
Console.WriteLine("{0}不是数字", source);
}
}

运行测试:
请输入字符串:123
123都是数字,并且是整数:123

请输入字符串:1e-4
1e-4都是数字,并且是浮点数:0.0001

请输入字符串:3.14
3.14都是数字,并且是浮点数:3.14

请输入字符串:a3
a3不是数字

回答2:

用javascript中的方法isNaN(参数); isNaN(参数)函数检验参数是否是一个数字 ,注意:不是数字返回true 是的话返回false;

回答3:

不想用正则表达式就可以:
public bool IsNumber(string str){
try{
double.Parse(str);
return true;
}catch(Exception e){
return false;
}
}
把一个字符串转换成double,如果成功就肯定是数字,出现异常就不是数字。
不过这样不科学。有点取巧。

回答4:

bool isNum = Regex.IsMatch(input, @"^[1-9][0-9]*(\.[0-9]+)?$");

回答5:

System.Text.RegularExpressions.Regex.IsMatch("123", "^\\d+(.)?\\d{0,}$")