在我的projcet(WPF)文本框中只允许正十进制数和负数十进制数。我使用正则表达式然后它接受-.values.but它接受这样的值
-123.-2这是不正确的。我的要求就是这样接受
233334 -233333 -2.3444
我使用了这段代码。
private void NumericOnly(System.Object sender, System.Windows.Input.TextCompositionEventArgs e)
{
e.Handled = IsTextNumeric(e.Text);
}
private static bool IsTextNumeric(string str)
{
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex("[^0-9.-]");
return reg.IsMatch(str);
}
有人请帮帮我。如果该文本框接受正负十进制数值。
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为最好的选择是绑定到double,因为这会突出显示输入错误的文本框,这样可以让用户反馈他们输入的内容。
或者您可以使用double.TryParse检查数字是否有效
private static bool IsTextNumeric(string str)
{
double value;
return double.TryParse(str, out value);
}