WinForm,大家有什么方法控制TextBok里用户最多只能输入两位小数点,即不能输入超过两位小数点的数.

LANTE80 2007-07-10 10:19:21
也就是可以输入:
1000.01
10.56
7.89等
但不能输入:
1000.001
10.564
7.892
...全文
249 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
w43z 2007-07-11
  • 打赏
  • 举报
回复
private void textBox1_TextChanged(object sender, System.EventArgs e)
{
string txt= this.textBox1.Text;
if(txt.IndexOf(".")!=-1)
{
int index = txt.IndexOf(".");
if(txt.Remove(0,index+1).Length>2)
{
MessageBox.Show("输入有误!");
this.textBox1.Text="";
}
}
}
lovesnow1573 2007-07-11
  • 打赏
  • 举报
回复
如果是程序中

private static bool RegexOperation(string syllable, string regex)
{
//正则表达式的枚举类型
System.Text.RegularExpressions.RegexOptions options = (
(System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace |
System.Text.RegularExpressions.RegexOptions.Multiline) |
System.Text.RegularExpressions.RegexOptions.IgnoreCase);

//加载正则表达式到枚举类型上
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(regex, options);

//返回验证结果
return reg.IsMatch(syllable);
}
====
public static bool IsNumber(string syllable)
{
string regex = "^[0-9]+(.[0-9]{2})?$";
return RegexOperation(syllable, regex);
}
lovesnow1573 2007-07-11
  • 打赏
  • 举报
回复
只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
lovesnow1573 2007-07-11
  • 打赏
  • 举报
回复
用 正册表达式
delicioustian 2007-07-11
  • 打赏
  • 举报
回复
用masktextbox
LANTE80 2007-07-10
  • 打赏
  • 举报
回复
还有什么方法?
sunzhong2003() ( )
2005直接有控件,写正则就可以了

没有这中控件吧!
sqllong 2007-07-10
  • 打赏
  • 举报
回复
keypress里写代码
sunzhong2003 2007-07-10
  • 打赏
  • 举报
回复
2005直接有控件,写正则就可以了
2003的,可以使用第三方控件,或者在KEYPRESS事件里写代码

110,536

社区成员

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

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

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