如何使用TextBox UWP接受负浮点数?

时间:2016-05-25 04:28:49

标签: c# uwp

我有一个要求。

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
    {
    }
}

我想知道如何接受负数,因为在表达式的开头添加 ^ \ - 不起作用。 此外,我在这里尝试了其他答案,但即使使用坐标也没有用。

2 个答案:

答案 0 :(得分:1)

尝试这个

@"^[-]?[0-9]*(?:\.[0-9]*)?$"

答案 1 :(得分:0)

而不是正则表达式,我会在你的案例中使用这些内容:

float f;
if (float.TryParse(sender.Text, out f))
{
    // Do stuff
}

这将为您提供正数和负数浮动数字。