微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对于KEYPRESS里的正则输入,格式要求为*.xx 保留2位小数

private void Cells_KeyPress(object sender,KeyPressEventArgs e) //自定义事件 { if (this.dataGridView1.CurrentCellAddress.X == 2) { string aa = @"^\d+$"; string bb = @"^\.{0,1}$"; Regex reg1 = new Regex(aa); Regex reg2 = new Regex(bb); if (!reg1.IsMatch(e.KeyChar.ToString()) && !reg2.IsMatch(e.KeyChar.ToString())) e.Handled = true; string cc = @"^\d+(\.{0,1}\d{0,1})$";//@"^(-?\d+)(\.\d+)?$"; char[] point={'.'}; string[] seperated=CellEdit.Text.Split(point); if(seperated.Length>1) //取小数点后字符串 { if (seperated[1].Length >= 2 //.22,小数点后的数字长度超过2 //&& (e.KeyChar >= '0' && e.KeyChar <= '9')//同时又在点后输入数字 && CellEdit.SelectionLength <= 0 //没有选中当前所输入的数字 && CellEdit.SelectionStart>=CellEdit.Text.Length-1//光标不在最后 ) cc = @"^\d+(\.{0,1})$"; else cc = @"^\d+(\.{0,2})$"; } else //万一number没有小数点,置零 cc = @"^\d+(\.{0,1})$"; Regex reg3 = new Regex(cc); // Regex reg = new Regex("^\\d*\\.{0,1}\\d{0,2}$");//Regex("^[0-9]{1}([0-9]|[.])$");"^" if ((!reg3.IsMatch(CellEdit.Text) && CellEdit.Text != "0")|| (e.KeyChar == '.' && CellEdit.Text.Contains('.'))) e.Handled = true;// if (!(e.KeyChar >= '0' && e.KeyChar <= '9') if (e.KeyChar == '\b') e.Handled = false; } }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐