| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5449 人关注过本帖, 1 人收藏
标题:[分享]框框中只能输入数字
只看楼主 加入收藏
xiaozhu39505
Rank: 2
等 级:论坛游民
帖 子:75
专家分:21
注 册:2006-10-12
收藏
得分:0 

下面是偶曾经用到的,只能按照0.0的格式输入数字
private void textBox9_TextChanged(object sender, EventArgs e)
{
int k = 0;
for (int i = 0; i < textBox9.Text.Length; i++)
{
if (textBox9.Text[i] == '.')
{
k += 1;
}
if (((textBox9.Text[i] < '0' || textBox9.Text[i] > '9') && textBox9.Text[i] != '.') || k > 1)
{
MessageBox.Show("请输入数字,请按照'0.0'的格式输入");
textBox9.Text = "";
}
if (i == 0) //第一个输入不能为'.'
{
if (textBox9.Text.Trim() != "")
{
if (textBox9.Text[0] == '.')
{
MessageBox.Show("输入非法字符,请按照'0.0'的格式输入");
textBox9.Text = "";
}
}
}
}
}


2007-03-05 11:28
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用xiaozhu39505在2007-3-5 11:20:43的发言:
这个也只是判断数字和小数点,如果用户输入.0.2.2.2呢?

d+.d+.d+.d+


飘过~~
2007-03-05 12:34
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
高,学习了

26403021 sql群 博客 blog./user15/81152/index.shtml
2007-03-05 12:38
zhangbo0817
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-2-23
收藏
得分:0 

受11楼的启发,代码更改如下

if ((e.KeyChar < '0' && e.KeyChar != '.' || e.KeyChar > '9' && e.KeyChar != '.' || ((TextBox)(sender)).Text.IndexOf('.') >= 0 && e.KeyChar == '.') && e.KeyChar != (char)13 && e.KeyChar != (char)8)
{
e.Handled = true;
}


这样不会屏蔽backspace和enter键,小数点只能输入一个


2007-03-06 02:12
zhangbo0817
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-2-23
收藏
得分:0 

以下代码保留二位小数,支持输入负号,不屏蔽enter和backspace键
char key = e.KeyChar;
TextBox textBox = ((TextBox)sender);
string text = textBox.Text;

if (!(key == (char)13 || key == (char)8))
{
if (key < '0' && key != '.' && key != '-' || key > '9' && key != '.' && key != '-' || text.IndexOf('.') >= 0 && key == '.' || text.IndexOf('-') >= 0 && key == '-')
{
e.Handled = true;
}
//判断小数点
else if (text.Length - textBox.SelectionStart > 2 && key == '.')
{
e.Handled = true;
}
else if (text.Length - text.IndexOf('.') > 2 && text.IndexOf('.') >= 0 && textBox.SelectionStart > text.IndexOf('.'))
{
e.Handled = true;
}
//判断负号
else if (textBox.SelectionStart > 0 && key == '-')
{
e.Handled = true;
}
else
{
e.Handled = false;
}
}


2007-03-06 04:36
jockey
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:977
专家分:52
注 册:2005-12-4
收藏
得分:0 
不错!

2007-03-06 08:17
liuminghui
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:2882
专家分:0
注 册:2007-1-26
收藏
得分:0 

技术很高!!


海鸽 is My Lover!!
2007-03-06 08:54
xiaozhu39505
Rank: 2
等 级:论坛游民
帖 子:75
专家分:21
注 册:2006-10-12
收藏
得分:0 

学习了


2007-03-06 09:15
zhao601
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2005-8-26
收藏
得分:0 
输入两个小数点怎么办,还是有bug
2007-03-06 17:48
zhao601
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2005-8-26
收藏
得分:0 
太复杂,还是用正则表达式好
2007-03-06 17:50
快速回复:[分享]框框中只能输入数字
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019163 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved