c# textbox控件的text值的问题
我想判断,输入在textbox中的值是否有出现连续的两个点,还有判断textbox中的字符串不能以点开头和以点结尾。如textbox中text值为1...123或.123...
我想判断,输入在textbox中的值是否有出现连续的两个点,还有判断textbox中的字符串不能以点开头和以点结尾。如textbox中text值为1...123或.123或123.则显示错误信息。请问怎么写这代码?急~
具体点~~写代码来看看,谢谢 展开
具体点~~写代码来看看,谢谢 展开
8个回答
展开全部
if(textbox.text.astindexof(".")=="."|| txtbox.text.substring(0,1)=="."||textbox.text.substring(textbox.text.length-1,1)==".")
{
messagebox.show(".....");//"..."为错误信息
}
//xtbox.text.lstindexof(".")=="."判断是否为连续的两个点
//txtbox.text.substring(0,1)=="."判断是否以点开头
//textbox.text.substring(textbox.text.length-1,1)=="."判断是否以点结束
PS:你的textbox的值如果是汉字等,还需要判断一下,如果为汉字则需要改为
txtbox.text.substring(0,2)="." ,textbox.text.substring(textbox.text.length-3,2)=."
{
messagebox.show(".....");//"..."为错误信息
}
//xtbox.text.lstindexof(".")=="."判断是否为连续的两个点
//txtbox.text.substring(0,1)=="."判断是否以点开头
//textbox.text.substring(textbox.text.length-1,1)=="."判断是否以点结束
PS:你的textbox的值如果是汉字等,还需要判断一下,如果为汉字则需要改为
txtbox.text.substring(0,2)="." ,textbox.text.substring(textbox.text.length-3,2)=."
展开全部
其实如果按正常的角度来看问题的话,这的判断小数点的位置,
其实楼上的人说的也正确哈
把他转换成double,如果成功则是正确的输入,否则报错哈
try
{
double d=convert.todouble(textbox1.text);
}
catch
{
messagebox.show("数据输入错误哈");
}
我觉得这是最简单的了哈@
其实楼上的人说的也正确哈
把他转换成double,如果成功则是正确的输入,否则报错哈
try
{
double d=convert.todouble(textbox1.text);
}
catch
{
messagebox.show("数据输入错误哈");
}
我觉得这是最简单的了哈@
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个 写代码的话 会比较麻烦。因为 需要判断的地方比较多。 你可以用正则表达式。来进行判断。 比如 Regex r = new Regex(@"^\.{1,}\d{1,}$");
Regex r1 = new Regex(@"^\d{1,}\.{1,}$");
Regex r2 = new Regex(@"^\d{1,}\.{2,}\d{1,}$");
if (r.IsMatch(textBox1.Text.ToString())||r1.IsMatch(textBox1.Text)||r2.IsMatch(textBox1.Text))
{
MessageBox.Show("Test");
}
你可以这么写。 但是 我这段代码 有问题。 你上面的三种情况 是可以 提示出来的。 但是 如果 输入的 数字 是 .1233.111 这个就不会报错了。。 o()^))o 唉。我的 郑则表达式 用的也不好。 等我改天有空了 再把答案 补充一下吧。
Regex r1 = new Regex(@"^\d{1,}\.{1,}$");
Regex r2 = new Regex(@"^\d{1,}\.{2,}\d{1,}$");
if (r.IsMatch(textBox1.Text.ToString())||r1.IsMatch(textBox1.Text)||r2.IsMatch(textBox1.Text))
{
MessageBox.Show("Test");
}
你可以这么写。 但是 我这段代码 有问题。 你上面的三种情况 是可以 提示出来的。 但是 如果 输入的 数字 是 .1233.111 这个就不会报错了。。 o()^))o 唉。我的 郑则表达式 用的也不好。 等我改天有空了 再把答案 补充一下吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
protected void Button1_Click(object sender, EventArgs e)
{
string str = TextBox1.Text.ToString();
char[] mychars = str.ToCharArray();
for (int i = 0; i < str.Length - 1; i++)
{
if (str[i] == '.' && str[i + 1] == '.')
{
Response.Write("不合法输入");
break;
}
if (str[0] == '.')
{
Response.Write("不合法输入");
break;
}
if (str[str.Length - 1] == '.')
{
Response.Write("不合法输入");
break;
}
}
}
给把兄弟这代码自己编的试的时候没错
我这个不能判断汉字,但是判断任何字符都可以~
{
string str = TextBox1.Text.ToString();
char[] mychars = str.ToCharArray();
for (int i = 0; i < str.Length - 1; i++)
{
if (str[i] == '.' && str[i + 1] == '.')
{
Response.Write("不合法输入");
break;
}
if (str[0] == '.')
{
Response.Write("不合法输入");
break;
}
if (str[str.Length - 1] == '.')
{
Response.Write("不合法输入");
break;
}
}
}
给把兄弟这代码自己编的试的时候没错
我这个不能判断汉字,但是判断任何字符都可以~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是ASP.NET里就用RegularValidation控件,
如果是winform就只能通过编程的方法进行限制。
如果是winform就只能通过编程的方法进行限制。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string str = ..;
if(str.Contains("."))
Console.WriteLine("have . ");
else Console.WriteLine("... ");
if(str.Contains("."))
Console.WriteLine("have . ");
else Console.WriteLine("... ");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询