大家帮看下 我怎么改 才能判断变量的内容是数字

kiba518 2009-12-03 03:15:28
我这么写 可是 如果 文本框内的内容是 4.5 这样的 还是判断不了
我应该怎么改
 if (!r.IsMatch(TextBox2.Text.Trim()) || !r.IsMatch(TextBox3.Text.Trim()) || !r.IsMatch(TextBox4.Text.Trim()))
{
Response.Write("<script>alert('请输入数字')</script>");
}
...全文
151 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyaruo 2009-12-03
  • 打赏
  • 举报
回复
匹配数字需要改!
gaohongtao_2005 2009-12-03
  • 打赏
  • 举报
回复
我一般用这个

public Boolean IsNumeric(string str)
{
char[] ch = new char[str.Length];
ch = str.ToCharArray();
for (int i = 0; i < ch.Length; i++)
{
if (ch[i] < 48 || ch[i] > 57)
return false;
}
return true;
}
liherun 2009-12-03
  • 打赏
  • 举报
回复
string s = "4.5";
double d = double.Parse(s);
Console.WriteLine(d);
liherun 2009-12-03
  • 打赏
  • 举报
回复
转换的代码发上来
kiba518 2009-12-03
  • 打赏
  • 举报
回复
还有个问题 我用Double 设置 获取 这个文本的值 结果呢 获取的还是INT的值
就是 比如 我在文本框写 4.5 提交后 获取的是 4
「已注销」 2009-12-03
  • 打赏
  • 举报
回复
Regex r = new Regex(@"^-?[0-9]+(\.[0-9]+)?$");
limcai0701 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liherun 的回复:]
把你定义r的代码发上来
正则写的有问题
[/Quote]

应该是正则的问题
liherun 2009-12-03
  • 打赏
  • 举报
回复
Regex r = new Regex(@"^-?([1-9]\d*\.?\d+|0\.\d*[1-9])$");

这个是匹配数字的,不知道对不
GS1T74wjwpg 2009-12-03
  • 打赏
  • 举报
回复
也可以直接设置不能输入字母...岂不是更好,代码请参考.net开发实例,忘了是哪个
sosoyiyi 2009-12-03
  • 打赏
  • 举报
回复
mark
up
study
miss味道 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kiba518 的回复:]
C# code Regex r=new Regex("^[0-9]{1,}$");
[/Quote]

Regex r = new Regex("^[0-9]+$");
liherun 2009-12-03
  • 打赏
  • 举报
回复
匹配数字还得改
liherun 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 lcl_data 的回复:]
那是你的正则的问题,
数字的正则
匹配特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/07/08/4332108.aspx
[/Quote] up
十八道胡同 2009-12-03
  • 打赏
  • 举报
回复
那是你的正则的问题,
数字的正则
匹配特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数 + 0)


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LCL_data/archive/2009/07/08/4332108.aspx
liherun 2009-12-03
  • 打赏
  • 举报
回复
Regex r = new Regex(@"^[1-9]\d*\.?\d+$");
liherun 2009-12-03
  • 打赏
  • 举报
回复
 Regex r = new Regex(@"^\d+\.?\d+");
liherun 2009-12-03
  • 打赏
  • 举报
回复
[code=C#]Regex r = new Regex("^\d+[code=C#]
{1,}$");[/code][/code]
tkscascor 2009-12-03
  • 打赏
  • 举报
回复
... 其实我有一个偷懒的方法.
直接
try{int temp=double.Parse(TextBox2.Text.Trim());}
catch{
}
如果报错, 就是说明不是数字
kiba518 2009-12-03
  • 打赏
  • 举报
回复
 Regex r = new Regex("^[0-9]{1,}$");
liherun 2009-12-03
  • 打赏
  • 举报
回复
把你定义r的代码发上来
正则写的有问题
加载更多回复(5)

111,120

社区成员

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

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

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