gpt4 book ai didi

c# - 如何将文本框设置为仅允许数字、一 (1) 个逗号和破折号(用于负数)开头

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:28 25 4
gpt4 key购买 nike

这是一个不同于通常的“我只想要文本框中的数字”的框

我发现需要使用负数,我宁愿将它们放在文本框中。

到目前为止,我们可以使用以下代码轻松设置小数

  private void textBox_KeyPress_1(object sender, KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) &&
(e.KeyChar != ','))
{
e.Handled = true;
}

// only allow one decimal point
if ((e.KeyChar == ',') && ((sender as TextBox).Text.IndexOf(',') > -1))
{
e.Handled = true;
}
}

并将其挂接到设计器中所需的框上 this.textBoxXX.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox_KeyPress_1);

到目前为止一切顺利,但是,如果我需要添加一个“-”并且只允许在代码的开头使用它怎么办?有什么提示吗?

最佳答案

你可以尝试像这样的正则表达式

^[0-9]([.,][0-9]{1,3})?$

^-?\d*\.?\d*

这里是验证方法的例子

private void ValidateText(object sender, EventArgs e)
{
TextBox txtBox = sender as TextBox;
String strpattern = @"^-?\d*\.?\d*"; //Pattern is Ok
Regex regex = new Regex(strpattern);
if (!regex.Match(txtBox.Text).Success)
{
// passed
}
}

关于c# - 如何将文本框设置为仅允许数字、一 (1) 个逗号和破折号(用于负数)开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28900304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com