我有一个要求。
1)接受正浮点数和负浮点数
2)接受代表纬度,经度坐标的数字值。
从已发布的答案中我得到了如何接受正浮数
private void floatTextBox_TextChanging(TextBox sender, TextBoxTextChangingEventArgs args)
{
try
{
if (!Regex.IsMatch(sender.Text, "^\\d*\\.?\\d*$") && sender.Text != "")
{
int pos = sender.SelectionStart - 1;
sender.Text = sender.Text.Remove(pos, 1);
sender.SelectionStart = pos;
}
}
catch
{
}
}
我想知道如何接受负数,因为在表达式的开头添加 ^ \ - 不起作用。 此外,我在这里尝试了其他答案,但即使使用坐标也没有用。
答案 0 :(得分:1)
尝试这个
@"^[-]?[0-9]*(?:\.[0-9]*)?$"
答案 1 :(得分:0)
而不是正则表达式,我会在你的案例中使用这些内容:
float f;
if (float.TryParse(sender.Text, out f))
{
// Do stuff
}
这将为您提供正数和负数浮动数字。