c#中如何判断一个字符时字母还是数字

chuixue417 2005-11-20 09:39:43
知道有方法可以判断,就是忘了名字,郁闷。哪位能不吝赐教,谢谢!在线等待...
...全文
1876 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadow841112 2005-11-25
  • 打赏
  • 举报
回复
qyfjl(),
非常感谢,思路已经明了了,参数大致也看懂了。
shadow841112 2005-11-25
  • 打赏
  • 举报
回复
请问有什么好的基类查询工具啊?(C#)
fuyiyong 2005-11-25
  • 打赏
  • 举报
回复
正则最方便,效率也最高!
seonxp 2005-11-25
  • 打赏
  • 举报
回复
Char.IsDigit
Char.IsNumber
Char.IsLetter...
具体查看 MSDN。
用不着正则这么麻烦的东西吧,完全是简单的问题复杂化。
echoxue 2005-11-25
  • 打赏
  • 举报
回复
up
owennol 2005-11-25
  • 打赏
  • 举报
回复
try
{
int.parse(temp);
Console.write("temp is int");
}
catch
{
Console.write("temp is char");
}
huangyj 2005-11-25
  • 打赏
  • 举报
回复
基本上正则表达式好用
「已注销」 2005-11-24
  • 打赏
  • 举报
回复
正则表达式. ^\d+$
vovo2000 2005-11-24
  • 打赏
  • 举报
回复
Regex
superfishmanweb 2005-11-24
  • 打赏
  • 举报
回复
mark
myyihua 2005-11-24
  • 打赏
  • 举报
回复
up
qyfjl 2005-11-24
  • 打赏
  • 举报
回复
to shadow841112(孤风)
其实我在上面已经把我的思路说得很明白了.
Regex a=new Regex (@"^(0|[+-]?0\.\d+|[+-]?[1-9]([0-9]+)?(\.\d+)?)$");
我的思路是,常用的数字只有三种:零,正负零点几加小数,正负整数,正负整数加小数.

第一种可能为0就不说了,如果你的数为0就满足条件了.

第二种可能:[+-]?0\.\d+ [+-]?这个是先判断正负符号,可以有一个,可以没有.
0\.\d+这个是零加小数点,再加最小为一位的0-9的数.如(0.23,-0.023,+0.23都满足条件,也满足数字的规则)

第三种可能:[+-]?[1-9]([0-9]+)?(\.\d+)? [+-]?这个同上.
[1-9]这个判断整数的第一位必须是1到9,如(3,+3,-3都满足条件)
([0-9]+)?这个数可能有两位数以上的0到9. 可有可无.如(23,+23,-23)
(\.\d+)? 这个数可能为小数,如果为小数,小数点和0-9的小数必须同时存在. 如(23.23,+23.23,-23.23都满足条件)
不知道你明白了没有.
我觉得^\d+$这种根本不能判断数字.如0009这个数字可能不符合数学的数字规则吧.


jeal_zhang 2005-11-24
  • 打赏
  • 举报
回复
if(checkIsNum(TestString)
Console.Write("是整数");
else
Console.Write("不是整数");

//
protected bool checkIsNum(string TestString)
{
foreach(Char c in TestString)
{
if(!Char.IsDigit(c)
{
return false;
}
}
return true;
}
兔子-顾问 2005-11-23
  • 打赏
  • 举报
回复
标记一下。
cen123 2005-11-23
  • 打赏
  • 举报
回复
建议用正则表达式. ^\d+$
DrSmart 2005-11-23
  • 打赏
  • 举报
回复
判断ascii最简单,因为数字和字符有区域范围
fx_blog 2005-11-23
  • 打赏
  • 举报
回复
调用一个返回的函数

protected bool checkIsNum(string TestString)
{
string SpecSign="0123456789";
for(int i=0;i<TestString.Length;i++)
{
while(SpecSign.IndexOf(TestString[i])==-1)
return false;
}
return true;
}

//以上是判断是否是整数的代码,如果是整数,返回true;否则false;

//我们再来调用它

//如果有一个测试的字符串,假如为TestString,看它是否为整数

if(checkIsNum(TestString)==true)
Console.Write("是整数");
else
Console.Write("不是整数");
shadow841112 2005-11-23
  • 打赏
  • 举报
回复
楼上的,你的方法是可以的!
我用这个函数判断输入的是否满足要求~
Regex.IsMatch(Request.Form["text1"], (@"^(0|[+-]?0\.\d+|[+-]?[1-9]([0-9]+)?(\.\d+)?)$"))
能将第二个参数具体拆分讲解下吗?我是初学者。谢谢了~
qyfjl 2005-11-23
  • 打赏
  • 举报
回复
呵呵,改了一下,这个更简单.
Regex a=new Regex (@"^(0|[+-]?0\.\d+|[+-]?[1-9]([0-9]+)?(\.\d+)?)$");
JackLucifer 2005-11-23
  • 打赏
  • 举报
回复
mark
加载更多回复(15)

110,523

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧